11ffd7fd23eeaff57eb3b83b9dbbbda89ddf030e3net[shemminger]!shemminger#ifndef _IPTABLES_COMMON_H 21ffd7fd23eeaff57eb3b83b9dbbbda89ddf030e3net[shemminger]!shemminger#define _IPTABLES_COMMON_H 31ffd7fd23eeaff57eb3b83b9dbbbda89ddf030e3net[shemminger]!shemminger/* Shared definitions between ipv4 and ipv6. */ 41ffd7fd23eeaff57eb3b83b9dbbbda89ddf030e3net[shemminger]!shemminger 51ffd7fd23eeaff57eb3b83b9dbbbda89ddf030e3net[shemminger]!shemmingerenum exittype { 61ffd7fd23eeaff57eb3b83b9dbbbda89ddf030e3net[shemminger]!shemminger OTHER_PROBLEM = 1, 71ffd7fd23eeaff57eb3b83b9dbbbda89ddf030e3net[shemminger]!shemminger PARAMETER_PROBLEM, 8de539ecf6cc04530ee88839722be700fd1b0db01Stephen Hemminger VERSION_PROBLEM, 9de539ecf6cc04530ee88839722be700fd1b0db01Stephen Hemminger RESOURCE_PROBLEM 101ffd7fd23eeaff57eb3b83b9dbbbda89ddf030e3net[shemminger]!shemminger}; 11de539ecf6cc04530ee88839722be700fd1b0db01Stephen Hemminger 12de539ecf6cc04530ee88839722be700fd1b0db01Stephen Hemminger/* this is a special 64bit data type that is 8-byte aligned */ 13de539ecf6cc04530ee88839722be700fd1b0db01Stephen Hemminger#define aligned_u64 unsigned long long __attribute__((aligned(8))) 14de539ecf6cc04530ee88839722be700fd1b0db01Stephen Hemminger 156560dbb89b08c8821b9fa5affa7a249952900a39Stephen Hemmingerextern void exit_printhelp(void) __attribute__((noreturn)); 161ffd7fd23eeaff57eb3b83b9dbbbda89ddf030e3net[shemminger]!shemmingerextern void exit_tryhelp(int) __attribute__((noreturn)); 171ffd7fd23eeaff57eb3b83b9dbbbda89ddf030e3net[shemminger]!shemmingerint check_inverse(const char option[], int *invert, int *optind, int argc); 18de539ecf6cc04530ee88839722be700fd1b0db01Stephen Hemmingerextern int string_to_number(const char *, 19de539ecf6cc04530ee88839722be700fd1b0db01Stephen Hemminger unsigned int, 201ffd7fd23eeaff57eb3b83b9dbbbda89ddf030e3net[shemminger]!shemminger unsigned int, 211ffd7fd23eeaff57eb3b83b9dbbbda89ddf030e3net[shemminger]!shemminger unsigned int *); 22de539ecf6cc04530ee88839722be700fd1b0db01Stephen Hemmingerextern int string_to_number_l(const char *, 23de539ecf6cc04530ee88839722be700fd1b0db01Stephen Hemminger unsigned long int, 241ffd7fd23eeaff57eb3b83b9dbbbda89ddf030e3net[shemminger]!shemminger unsigned long int, 251ffd7fd23eeaff57eb3b83b9dbbbda89ddf030e3net[shemminger]!shemminger unsigned long *); 26de539ecf6cc04530ee88839722be700fd1b0db01Stephen Hemmingerextern int string_to_number_ll(const char *, 27de539ecf6cc04530ee88839722be700fd1b0db01Stephen Hemminger unsigned long long int, 281ffd7fd23eeaff57eb3b83b9dbbbda89ddf030e3net[shemminger]!shemminger unsigned long long int, 291ffd7fd23eeaff57eb3b83b9dbbbda89ddf030e3net[shemminger]!shemminger unsigned long long *); 301ffd7fd23eeaff57eb3b83b9dbbbda89ddf030e3net[shemminger]!shemmingerextern int iptables_insmod(const char *modname, const char *modprobe); 31de539ecf6cc04530ee88839722be700fd1b0db01Stephen Hemmingerextern int load_iptables_ko(const char *modprobe); 321ffd7fd23eeaff57eb3b83b9dbbbda89ddf030e3net[shemminger]!shemmingervoid exit_error(enum exittype, char *, ...)__attribute__((noreturn, 331ffd7fd23eeaff57eb3b83b9dbbbda89ddf030e3net[shemminger]!shemminger format(printf,2,3))); 341ffd7fd23eeaff57eb3b83b9dbbbda89ddf030e3net[shemminger]!shemmingerextern const char *program_name, *program_version; 35b6d5f02e456b81c48809b2424f08741011623c24osdl.net!shemmingerextern char *lib_dir; 361ffd7fd23eeaff57eb3b83b9dbbbda89ddf030e3net[shemminger]!shemminger 37de539ecf6cc04530ee88839722be700fd1b0db01Stephen Hemminger#define _init __attribute__((constructor)) my_init 381ffd7fd23eeaff57eb3b83b9dbbbda89ddf030e3net[shemminger]!shemminger#ifdef NO_SHARED_LIBS 391ffd7fd23eeaff57eb3b83b9dbbbda89ddf030e3net[shemminger]!shemminger# ifdef _INIT 40de539ecf6cc04530ee88839722be700fd1b0db01Stephen Hemminger# undef _init 411ffd7fd23eeaff57eb3b83b9dbbbda89ddf030e3net[shemminger]!shemminger# define _init _INIT 421ffd7fd23eeaff57eb3b83b9dbbbda89ddf030e3net[shemminger]!shemminger# endif 431ffd7fd23eeaff57eb3b83b9dbbbda89ddf030e3net[shemminger]!shemminger extern void init_extensions(void); 441ffd7fd23eeaff57eb3b83b9dbbbda89ddf030e3net[shemminger]!shemminger#endif 451ffd7fd23eeaff57eb3b83b9dbbbda89ddf030e3net[shemminger]!shemminger 46de539ecf6cc04530ee88839722be700fd1b0db01Stephen Hemminger#define __be32 u_int32_t 47de539ecf6cc04530ee88839722be700fd1b0db01Stephen Hemminger#define __le32 u_int32_t 48de539ecf6cc04530ee88839722be700fd1b0db01Stephen Hemminger#define __be16 u_int16_t 49de539ecf6cc04530ee88839722be700fd1b0db01Stephen Hemminger#define __le16 u_int16_t 50de539ecf6cc04530ee88839722be700fd1b0db01Stephen Hemminger 511ffd7fd23eeaff57eb3b83b9dbbbda89ddf030e3net[shemminger]!shemminger#endif /*_IPTABLES_COMMON_H*/ 52