⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 libnet-macros.h

📁 libnet的unix/linux版本
💻 H
字号:
/* *  $Id: libnet-macros.h,v 1.1.1.1 2000/05/25 00:28:49 route Exp $ * *  libnet-macros.h - Network routine library macro header file * *  Copyright (c) 1998 - 2001 Mike D. Schiffman <mike@infonexus.com> *  All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright *    notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright *    notice, this list of conditions and the following disclaimer in the *    documentation and/or other materials provided with the distribution. * * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * */#ifndef __LIBNET_MACROS_H#define __LIBNET_MACROS_H/* *  for libnet_hostlookup */#define LIBNET_DONT_RESOLVE 0#define LIBNET_RESOLVE      1/* *  prand constants */#define LIBNET_PR2          0#define LIBNET_PR8          1#define LIBNET_PR16         2#define LIBNET_PRu16        3#define LIBNET_PR32         4#define LIBNET_PRu32        5#define LIBNET_PRAND_MAX    0xffffffff/* *  Concession to legacy naming scheme */#define PR2         LIBNET_PR2#define PR8         LIBNET_PR8#define PR16        LIBNET_PR16#define PRu16       LIBNET_PRu16#define PR32        LIBNET_PR32#define PRu32       LIBNET_PRu32#define PRAND_MAX   LIBNET_PRAND_MAX/* *  Misc packet sizes for malloc */#define LIBNET_PACKET       LIBNET_IP_H + LIBNET_TCP_H  /* IP, UDP or TCP */#define LIBNET_OPTS         0x34            /* options! options! options! */#define LIBNET_MAX_PACKET   0xffff          /* as big as we can get *//* *  Error handling constants. */#define LIBNET_ERR_WARNING  1#define LIBNET_ERR_CRITICAL 2#define LIBNET_ERR_FATAL    3/* *  Concession to legacy naming scheme */#define LN_ERR_WARNING  LIBNET_ERR_WARNING#define LN_ERR_CRITICAL LIBNET_ERR_CRITICAL#define LN_ERR_FATAL    LIBNET_ERR_FATAL#define LIBNET_ERRBUF_SIZE  256/* *  Some BSD variants have this endianess problem. */#if (LIBNET_BSD_BYTE_SWAP)#define FIX(n)      ntohs(n)#define UNFIX(n)    htons(n)#else#define FIX(n)      (n)#define UNFIX(n)    (n)#endif/* *  Arena stuff */#define LIBNET_GET_ARENA_SIZE(a)               (a.size)#define LIBNET_GET_ARENA_REMAINING_BYTES(a)    (a.size - a.current)/* *  Checksum stuff */#define LIBNET_CKSUM_CARRY(x) \    (x = (x >> 16) + (x & 0xffff), (~(x + (x >> 16)) & 0xffff))/* *  OSPF stuff */#define LIBNET_OSPF_AUTHCPY(x,y)  memcpy((u_char *)x, (u_char *)y, sizeof(y))#define LIBNET_OSPF_CKSUMBUF(x,y) memcpy((u_char *)x, (u_char *)y, sizeof(y))  /* *  Not all systems have IFF_LOOPBACK *  Used by if_addr.c */#ifdef IFF_LOOPBACK#define LIBNET_ISLOOPBACK(p) ((p)->ifr_flags & IFF_LOOPBACK)#else#define LIBNET_ISLOOPBACK(p) (strcmp((p)->ifr_name, "lo0") == 0)#endif#define LIBNET_PRINT_ETH_ADDR(e) \{ \    int i = 0; \    for (i = 0; i < 6; i++) \    { \        printf("%x", e.ether_addr_octet[i]); \        if (i != 5) \        { \            printf(":"); \        } \    } \    printf("\n"); \}#endif  /* __LIBNET_MACROS_H *//* EOF */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -