Annotation of embedaddon/coova-chilli/src/system.h, revision 1.1.1.1

1.1       misho       1: /*
                      2:  * Copyright (c) 2006-2007 David Bird <david@coova.com>
                      3:  *
                      4:  */
                      5: 
                      6: #ifndef _SYSTEM_H
                      7: #define _SYSTEM_H
                      8: 
                      9: #include "../config.h"
                     10: 
                     11: /*
                     12:  *   I do not like this here, but otherwise
                     13:  *   __u64 is not defined. Set by -ansi
                     14:  */
                     15: 
                     16: #undef __STRICT_ANSI__
                     17: 
                     18: #include <stdio.h>
                     19: #include <string.h>
                     20: #include <time.h>
                     21: #include <ctype.h>
                     22: #include <stdarg.h>
                     23: 
                     24: #ifdef HAVE_STDLIB_H
                     25: #include <stdlib.h>
                     26: #endif
                     27: 
                     28: #ifdef HAVE_SYSLOG_H
                     29: #include <syslog.h>
                     30: #endif
                     31: 
                     32: #ifdef HAVE_UNISTD_H
                     33: #include <unistd.h>
                     34: #endif
                     35: 
                     36: #ifdef HAVE_ERRNO_H
                     37: #include <errno.h>
                     38: #endif
                     39: 
                     40: #ifdef HAVE_NETDB_H
                     41: #include <netdb.h>
                     42: #endif
                     43: 
                     44: #ifdef HAVE_FCNTL_H
                     45: #include <fcntl.h>
                     46: #endif
                     47: 
                     48: #ifdef HAVE_ARPA_INET_H
                     49: #include <arpa/inet.h>
                     50: #endif
                     51: 
                     52: #ifdef HAVE_SYS_TYPES_H
                     53: #include <sys/types.h>
                     54: #endif
                     55: 
                     56: #ifdef HAVE_SYS_SOCKET_H
                     57: #include <sys/socket.h>
                     58: #endif
                     59: 
                     60: #ifdef HAVE_SYS_STAT_H
                     61: #include <sys/stat.h>
                     62: #endif
                     63: 
                     64: #ifdef HAVE_SYS_TIME_H
                     65: #include <sys/time.h>
                     66: #endif
                     67: 
                     68: #ifdef HAVE_SYS_IOCTL_H
                     69: #include <sys/ioctl.h>
                     70: #endif
                     71: 
                     72: #ifdef HAVE_SYS_IPC_H
                     73: #include <sys/ipc.h>
                     74: #endif
                     75: 
                     76: #ifdef HAVE_SYS_MSG_H
                     77: #include <sys/msg.h>
                     78: #endif
                     79: 
                     80: #ifdef HAVE_SYS_WAIT_H
                     81: #include <sys/wait.h>
                     82: #endif
                     83: 
                     84: #ifdef HAVE_SYS_UN_H
                     85: #include <sys/un.h>
                     86: #endif
                     87: 
                     88: #if defined(__linux__)
                     89: #include <asm/types.h>
                     90: #include <linux/if.h>
                     91: #include <linux/if_packet.h>
                     92: #include <linux/if_ether.h>
                     93: #include <linux/if_tun.h>
                     94: #include <linux/netlink.h>
                     95: #include <linux/rtnetlink.h>
                     96: 
                     97: #elif defined (__FreeBSD__)  || defined (__APPLE__) || defined (__OpenBSD__) || defined (__NetBSD__) 
                     98: #include <net/if.h>
                     99: #include <net/bpf.h>
                    100: #include <net/if_dl.h>
                    101: #include <net/if_types.h>
                    102: #include <ifaddrs.h>
                    103: #endif
                    104: 
                    105: #ifndef EIDRM
                    106: #define EIDRM   EINVAL
                    107: #endif
                    108: #ifndef ENOMSG
                    109: #define ENOMSG  EAGAIN
                    110: #endif
                    111: 
                    112: #ifdef HAVE_NETINET_IN_H
                    113: #include <netinet/in.h>
                    114: #endif
                    115: 
                    116: #if defined(HAVE_NET_IF_H) && !defined(__linux__)
                    117: #include <net/if.h>
                    118: #endif
                    119: 
                    120: #ifdef HAVE_NET_IF_TUN_H
                    121: #include <net/if_tun.h>
                    122: #endif
                    123: 
                    124: #ifdef HAVE_NET_ETHERNET_H
                    125: #include <net/ethernet.h>
                    126: #endif
                    127: 
                    128: #ifdef HAVE_ASM_TYPES_H
                    129: #include <asm/types.h>
                    130: #endif
                    131: 
                    132: #ifdef HAVE_NET_ROUTE_H
                    133: #include <net/route.h>
                    134: #endif
                    135: 
                    136: #ifdef HAVE_RESOLV_H
                    137: #include <resolv.h>
                    138: #endif
                    139: 
                    140: #ifdef HAVE_NET_IF_ARP_H
                    141: #include <net/if_arp.h>
                    142: #endif
                    143: 
                    144: #ifdef MTRACE
                    145: #include <mcheck.h> 
                    146: #endif
                    147: 
                    148: #ifdef DMALLOC
                    149: #include <dmalloc.h>
                    150: #endif
                    151: 
                    152: #ifdef HAVE_STDINT_H
                    153: #include <stdint.h>
                    154: #endif
                    155: 
                    156: #ifdef HAVE_SYS_PARAM_H
                    157: #include <sys/param.h>
                    158: #endif
                    159: 
                    160: #ifdef HAVE_ENDIAN_H
                    161: #include <endian.h>
                    162: #endif
                    163: 
                    164: #undef LITTLE_ENDIAN
                    165: #undef BIG_ENDIAN
                    166: 
                    167: #if (defined(__BYTE_ORDER) && defined(__LITTLE_ENDIAN) && __BYTE_ORDER == __LITTLE_ENDIAN) || \
                    168:     (defined(i386) || defined(__i386__) || defined(__i486__) || \
                    169:      defined(__i586__) || defined(__i686__) || defined(vax) || defined(MIPSEL))
                    170: # define LITTLE_ENDIAN 1
                    171: # define BIG_ENDIAN 0
                    172: #elif (defined(__BYTE_ORDER) && defined(__BIG_ENDIAN) && __BYTE_ORDER == __BIG_ENDIAN) || \
                    173:       (defined(sparc) || defined(POWERPC) || defined(mc68000) || defined(sel))
                    174: # define LITTLE_ENDIAN 0
                    175: # define BIG_ENDIAN 1
                    176: #else
                    177: # define LITTLE_ENDIAN 0
                    178: # define BIG_ENDIAN 0
                    179: #endif
                    180: 
                    181: #include <unistd.h>
                    182: #include <errno.h>
                    183: 
                    184: #ifndef TEMP_FAILURE_RETRY
                    185: #define TEMP_FAILURE_RETRY(expression) \
                    186:     ({ \
                    187:         long int _result; \
                    188:         do _result = (long int) (expression); \
                    189:         while (_result == -1L && errno == EINTR); \
                    190:         _result; \
                    191:     })
                    192: #endif
                    193: 
                    194: #include "bstrlib.h"
                    195: 
                    196: #endif

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>