xt_osf.h
001:
002: <johnpol@2ka.mxt.ru>
003:
004:
005:
006:
007:
008:
009:
010:
011:
012:
013:
014:
015:
016:
017:
018:
019:
020: #ifndef _XT_OSF_H
021: #define _XT_OSF_H
022:
023: #include <linux/types.h>
024:
025: #define MAXGENRELEN 32
026:
027: #define XT_OSF_GENRE (1<<0)
028: #define XT_OSF_TTL (1<<1)
029: #define XT_OSF_LOG (1<<2)
030: #define XT_OSF_INVERT (1<<3)
031:
032: #define XT_OSF_LOGLEVEL_ALL 0
033: #define XT_OSF_LOGLEVEL_FIRST 1
034: #define XT_OSF_LOGLEVEL_ALL_KNOWN 2
035:
036: #define XT_OSF_TTL_TRUE 0
037: #define XT_OSF_TTL_LESS 1
038: #define XT_OSF_TTL_NOCHECK 2
039:
040: struct xt_osf_info {
041: char genre[MAXGENRELEN];
042: __u32 len;
043: __u32 flags;
044: __u32 loglevel;
045: __u32 ttl;
046: };
047:
048:
049:
050:
051:
052:
053: struct xt_osf_wc {
054: __u32 wc;
055: __u32 val;
056: };
057:
058:
059:
060: http://www.iana.org/assignments/tcp-parameters
061:
062: struct xt_osf_opt {
063: __u16 kind, length;
064: struct xt_osf_wc wc;
065: };
066:
067: struct xt_osf_user_finger {
068: struct xt_osf_wc wss;
069:
070: __u8 ttl, df;
071: __u16 ss, mss;
072: __u16 opt_num;
073:
074: char genre[MAXGENRELEN];
075: char version[MAXGENRELEN];
076: char subtype[MAXGENRELEN];
077:
078:
079: struct xt_osf_opt opt[MAX_IPOPTLEN];
080: };
081:
082: struct xt_osf_nlmsg {
083: struct xt_osf_user_finger f;
084: struct iphdr ip;
085: struct tcphdr tcp;
086: };
087:
088:
089:
090: enum iana_options {
091: OSFOPT_EOL = 0,
092: OSFOPT_NOP,
093: OSFOPT_MSS,
094: OSFOPT_WSO,
095: OSFOPT_SACKP,
096: OSFOPT_SACK,
097: OSFOPT_ECHO,
098: OSFOPT_ECHOREPLY,
099: OSFOPT_TS,
100: OSFOPT_POCP,
101: OSFOPT_POSP,
102:
103:
104: OSFOPT_EMPTY = 255,
105: };
106:
107:
108:
109:
110:
111:
112: enum xt_osf_window_size_options {
113: OSF_WSS_PLAIN = 0,
114: OSF_WSS_MSS,
115: OSF_WSS_MTU,
116: OSF_WSS_MODULO,
117: OSF_WSS_MAX,
118: };
119:
120:
121:
122:
123: enum xt_osf_msg_types {
124: OSF_MSG_ADD,
125: OSF_MSG_REMOVE,
126: OSF_MSG_MAX,
127: };
128:
129: enum xt_osf_attr_type {
130: OSF_ATTR_UNSPEC,
131: OSF_ATTR_FINGER,
132: OSF_ATTR_MAX,
133: };
134:
135: #endif
136:
© Andrew Scott 2006 -
2025,
All Rights Reserved