00001
00002
00003
00004
00005
00006
00007
00008
00009 #ifndef INET__INET_H
00010 #define INET__INET_H
00011
00012 #define _SYSTEM 1
00013
00014 #include <sys/types.h>
00015 #include <errno.h>
00016 #include <stddef.h>
00017 #include <stdlib.h>
00018 #include <string.h>
00019
00020 #ifdef __minix_vmd
00021
00022 #include <minix/ansi.h>
00023 #include <minix/cfg_public.h>
00024 #include <minix/type.h>
00025
00026 #else
00027
00028 #include <unistd.h>
00029 #include <sys/ioc_file.h>
00030 #include <sys/time.h>
00031 #include <minix/config.h>
00032 #include <minix/type.h>
00033
00034 #define _NORETURN
00035
00036 typedef int ioreq_t;
00037
00038 #endif
00039
00040 #include <minix/const.h>
00041 #include <minix/com.h>
00042 #include <minix/syslib.h>
00043 #include <minix/sysutil.h>
00044 #include <net/hton.h>
00045 #include <net/gen/ether.h>
00046 #include <net/gen/eth_hdr.h>
00047 #include <net/gen/eth_io.h>
00048 #include <net/gen/in.h>
00049 #include <net/gen/ip_hdr.h>
00050 #include <net/gen/ip_io.h>
00051 #include <net/gen/icmp.h>
00052 #include <net/gen/icmp_hdr.h>
00053 #include <net/gen/oneCsum.h>
00054 #include <net/gen/psip_hdr.h>
00055 #include <net/gen/psip_io.h>
00056 #include <net/gen/route.h>
00057 #include <net/gen/tcp.h>
00058 #include <net/gen/tcp.h>
00059 #include <net/gen/tcp_hdr.h>
00060 #include <net/gen/tcp_io.h>
00061 #include <net/gen/udp.h>
00062 #include <net/gen/udp_hdr.h>
00063 #include <net/gen/udp_io.h>
00064
00065 #include <net/gen/arp_io.h>
00066 #include <net/ioctl.h>
00067
00068 #include "const.h"
00069 #include "inet_config.h"
00070
00071 #define PUBLIC
00072 #define EXTERN extern
00073 #define PRIVATE static
00074 #define FORWARD static
00075
00076 #define THIS_FILE static char *this_file= __FILE__;
00077
00078 _PROTOTYPE( void panic0, (char *file, int line) );
00079 _PROTOTYPE( void inet_panic, (void) ) _NORETURN;
00080
00081 #define ip_panic(print_list) \
00082 (panic0(this_file, __LINE__), printf print_list, panic())
00083 #define panic() inet_panic()
00084
00085 #if DEBUG
00086 #define ip_warning(print_list) \
00087 ( \
00088 printf("warning at %s, %d: ", this_file, __LINE__), \
00089 printf print_list, \
00090 printf("\ninet stacktrace: "), \
00091 stacktrace() \
00092 )
00093 #else
00094 #define ip_warning(print_list) ((void) 0)
00095 #endif
00096
00097 #define DBLOCK(level, code) \
00098 do { if ((level) & DEBUG) { where(); code; } } while(0)
00099 #define DIFBLOCK(level, condition, code) \
00100 do { if (((level) & DEBUG) && (condition)) \
00101 { where(); code; } } while(0)
00102
00103 #if _ANSI
00104 #define ARGS(x) x
00105 #else
00106 #define ARGS(x) ()
00107 #endif
00108
00109 extern int this_proc;
00110 extern char version[];
00111
00112 void stacktrace ARGS(( void ));
00113
00114 #endif
00115
00116
00117
00118