added QSE_GLOB_TOLERANT
enhanced check for __int128_t added qse_getnwifcfg() added qse_skad_t, qse_skadtonwad(), qse_nwadtoskad() added more checks to configure.ac
This commit is contained in:
@ -45,7 +45,10 @@ enum qse_glob_flags_t
|
||||
|
||||
/** Perform case-insensitive matching.
|
||||
* This option is always on in Win32/OS2/DOS. */
|
||||
QSE_GLOB_IGNORECASE = (1 << 2)
|
||||
QSE_GLOB_IGNORECASE = (1 << 2),
|
||||
|
||||
/** Make the function to be more fault-resistent */
|
||||
QSE_GLOB_TOLERANT = (1 << 3)
|
||||
};
|
||||
|
||||
#ifdef __cplusplus
|
||||
|
@ -37,7 +37,6 @@ typedef struct qse_nwad_t qse_nwad_t;
|
||||
struct qse_nwad_t
|
||||
{
|
||||
qse_nwad_type_t type;
|
||||
|
||||
union
|
||||
{
|
||||
struct
|
||||
@ -70,6 +69,21 @@ enum qse_nwadtostr_flag_t
|
||||
#define QSE_NWADTOWCS_ALL QSE_NWADTOSTR_ALL
|
||||
};
|
||||
|
||||
typedef struct qse_skad_t qse_skad_t;
|
||||
|
||||
struct qse_skad_t
|
||||
{
|
||||
#if (QSE_SIZEOF_STRUCT_SOCKADDR_IN > 0) && \
|
||||
(QSE_SIZEOF_STRUCT_SOCKADDR_IN >= QSE_SIZEOF_STRUCT_SOCKADDR_IN6)
|
||||
qse_uint8_t data[QSE_SIZEOF_STRUCT_SOCKADDR_IN];
|
||||
#elif (QSE_SIZEOF_STRUCT_SOCKADDR_IN6 > 0) && \
|
||||
(QSE_SIZEOF_STRUCT_SOCKADDR_IN6 >= QSE_SIZEOF_STRUCT_SOCKADDR_IN)
|
||||
qse_uint8_t data[QSE_SIZEOF_STRUCT_SOCKADDR_IN6];
|
||||
#else
|
||||
/* no sockaddr_xxx is available */
|
||||
qse_uint8_t data[QSE_SIZEOF(qse_nwad_t)];
|
||||
#endif
|
||||
};
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
@ -126,6 +140,20 @@ qse_size_t qse_nwadtowcs (
|
||||
# define qse_nwadtostr(nwad,ptr,len,flags) qse_nwadtowcs(nwad,ptr,len,flags)
|
||||
#endif
|
||||
|
||||
int qse_skadtonwad (
|
||||
const qse_skad_t* skad,
|
||||
qse_nwad_t* nwad
|
||||
);
|
||||
|
||||
int qse_nwadtoskad (
|
||||
const qse_nwad_t* nwad,
|
||||
qse_skad_t* skad
|
||||
);
|
||||
|
||||
int qse_skadfamily (
|
||||
const qse_skad_t* skad
|
||||
);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
@ -23,6 +23,40 @@
|
||||
|
||||
#include <qse/types.h>
|
||||
#include <qse/macros.h>
|
||||
#include <qse/cmn/nwad.h>
|
||||
|
||||
typedef struct qse_nwifcfg_t qse_nwifcfg_t;
|
||||
|
||||
enum qse_nwifcfg_flag_t
|
||||
{
|
||||
QSE_NWIFCFG_UP = (1 << 0),
|
||||
QSE_NWIFCFG_RUNNING = (1 << 1),
|
||||
QSE_NWIFCFG_BCAST = (1 << 2),
|
||||
QSE_NWIFCFG_PTOP = (1 << 3)
|
||||
};
|
||||
|
||||
enum qse_nwifcfg_type_t
|
||||
{
|
||||
QSE_NWIFCFG_IN4,
|
||||
QSE_NWIFCFG_IN6
|
||||
};
|
||||
|
||||
typedef enum qse_nwifcfg_type_t qse_nwifcfg_type_t;
|
||||
struct qse_nwifcfg_t
|
||||
{
|
||||
qse_nwifcfg_type_t type;
|
||||
qse_char_t name[64];
|
||||
|
||||
/* TODO: add hwaddr?? */
|
||||
|
||||
int flags;
|
||||
unsigned int index;
|
||||
qse_nwad_t addr;
|
||||
qse_nwad_t mask;
|
||||
qse_nwad_t ptop;
|
||||
qse_nwad_t bcast;
|
||||
int mtu;
|
||||
};
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
@ -46,13 +80,13 @@ unsigned int qse_nwifwcsntoindex (
|
||||
qse_size_t len
|
||||
);
|
||||
|
||||
qse_size_t qse_nwifindextombs (
|
||||
int qse_nwifindextombs (
|
||||
unsigned int index,
|
||||
qse_mchar_t* buf,
|
||||
qse_size_t len
|
||||
);
|
||||
|
||||
qse_size_t qse_nwifindextowcs (
|
||||
int qse_nwifindextowcs (
|
||||
unsigned int index,
|
||||
qse_wchar_t* buf,
|
||||
qse_size_t len
|
||||
|
Reference in New Issue
Block a user