added qsesi.pc.in

This commit is contained in:
2016-04-30 04:20:10 +00:00
parent 27317f9458
commit b6dfbed804
10 changed files with 35 additions and 29 deletions

View File

@ -297,44 +297,46 @@ struct sck_type_map_t
int extra_dev_capa;
};
#define PROTO_ETHARP QSE_CONST_HTON16(QSE_AIO_ETHHDR_PROTO_ARP)
static struct sck_type_map_t sck_type_map[] =
{
/* QSE_AIO_DEV_SCK_TCP4 */
{ AF_INET, SOCK_STREAM, 0, QSE_AIO_DEV_CAPA_STREAM | QSE_AIO_DEV_CAPA_OUT_QUEUED },
{ AF_INET, SOCK_STREAM, 0, QSE_AIO_DEV_CAPA_STREAM | QSE_AIO_DEV_CAPA_OUT_QUEUED },
/* QSE_AIO_DEV_SCK_TCP6 */
{ AF_INET6, SOCK_STREAM, 0, QSE_AIO_DEV_CAPA_STREAM | QSE_AIO_DEV_CAPA_OUT_QUEUED },
{ AF_INET6, SOCK_STREAM, 0, QSE_AIO_DEV_CAPA_STREAM | QSE_AIO_DEV_CAPA_OUT_QUEUED },
/* QSE_AIO_DEV_SCK_UPD4 */
{ AF_INET, SOCK_DGRAM, 0, 0 },
{ AF_INET, SOCK_DGRAM, 0, 0 },
/* QSE_AIO_DEV_SCK_UDP6 */
{ AF_INET6, SOCK_DGRAM, 0, 0 },
{ AF_INET6, SOCK_DGRAM, 0, 0 },
#if defined(AF_PACKET) && (QSE_SIZEOF_STRUCT_SOCKADDR_LL > 0)
/* QSE_AIO_DEV_SCK_ARP - Ethernet type is 2 bytes long. Protocol must be specified in the network byte order */
{ AF_PACKET, SOCK_RAW, QSE_CONST_HTON16(QSE_AIO_ETHHDR_PROTO_ARP), 0 },
{ AF_PACKET, SOCK_RAW, PROTO_ETHARP, 0 },
/* QSE_AIO_DEV_SCK_DGRAM */
{ AF_PACKET, SOCK_DGRAM, QSE_CONST_HTON16(QSE_AIO_ETHHDR_PROTO_ARP), 0 },
{ AF_PACKET, SOCK_DGRAM, PROTO_ETHARP, 0 },
#elif defined(AF_LINK) && (QSE_SIZEOF_STRUCT_SOCKADDR_DL > 0)
/* QSE_AIO_DEV_SCK_ARP */
{ AF_LINK, SOCK_RAW, QSE_CONST_HTON16(QSE_AIO_ETHHDR_PROTO_ARP), 0 },
{ AF_LINK, SOCK_RAW, PROTO_ETHARP, 0 },
/* QSE_AIO_DEV_SCK_DGRAM */
{ AF_LINK, SOCK_DGRAM, QSE_CONST_HTON16(QSE_AIO_ETHHDR_PROTO_ARP), 0 },
{ AF_LINK, SOCK_DGRAM, PROTO_ETHARP, 0 },
#else
{ -1, 0, 0, 0 },
{ -1, 0, 0, 0 },
{ -1, 0, 0, 0 },
{ -1, 0, 0, 0 },
#endif
/* QSE_AIO_DEV_SCK_ICMP4 - IP protocol field is 1 byte only. no byte order conversion is needed */
{ AF_INET, SOCK_RAW, IPPROTO_ICMP, 0, },
{ AF_INET, SOCK_RAW, IPPROTO_ICMP, 0, 1 },
/* QSE_AIO_DEV_SCK_ICMP6 - IP protocol field is 1 byte only. no byte order conversion is needed */
{ AF_INET6, SOCK_RAW, IPPROTO_ICMP, 0, }
{ AF_INET6, SOCK_RAW, IPPROTO_ICMP, 0, 1 }
};
/* ======================================================================== */

View File

@ -69,7 +69,7 @@ static int kill_and_free_device (qse_aio_dev_t* dev, int force);
#define MUX_CMD_UPDATE 2
#define MUX_CMD_DELETE 3
#define MUX_INDEX_INVALID QSE_AIO_TYPE_MAX(qse_size_t)
#define MUX_INDEX_INVALID QSE_TYPE_MAX(qse_size_t)
struct qse_aio_mux_t
{
@ -136,7 +136,7 @@ static int mux_control (qse_aio_dev_t* dev, int cmd, qse_aio_syshnd_t hnd, int d
return -1;
}
new_capa = QSE_AIO_ALIGNTO_POW2((hnd + 1), 256);
new_capa = QSE_ALIGNTO_POW2((hnd + 1), 256);
tmp = QSE_MMGR_REALLOC (aio->mmgr, mux->map.ptr, new_capa * QSE_SIZEOF(*tmp));
if (!tmp)
@ -180,7 +180,7 @@ static int mux_control (qse_aio_dev_t* dev, int cmd, qse_aio_syshnd_t hnd, int d
struct pollfd* tmp1;
qse_aio_dev_t** tmp2;
new_capa = QSE_AIO_ALIGNTO_POW2(mux->pd.size + 1, 256);
new_capa = QSE_ALIGNTO_POW2(mux->pd.size + 1, 256);
tmp1 = QSE_MMGR_REALLOC (aio->mmgr, mux->pd.pfd, new_capa * QSE_SIZEOF(*tmp1));
if (!tmp1)