]>
Commit | Line | Data |
---|---|---|
1da177e4 LT |
1 | /* |
2 | * These are the public elements of the Linux kernel X.25 implementation. | |
3 | * | |
4 | * History | |
5 | * mar/20/00 Daniela Squassoni Disabling/enabling of facilities | |
6 | * negotiation. | |
7 | */ | |
8 | ||
9 | #ifndef X25_KERNEL_H | |
10 | #define X25_KERNEL_H | |
11 | ||
12 | #define SIOCX25GSUBSCRIP (SIOCPROTOPRIVATE + 0) | |
13 | #define SIOCX25SSUBSCRIP (SIOCPROTOPRIVATE + 1) | |
14 | #define SIOCX25GFACILITIES (SIOCPROTOPRIVATE + 2) | |
15 | #define SIOCX25SFACILITIES (SIOCPROTOPRIVATE + 3) | |
16 | #define SIOCX25GCALLUSERDATA (SIOCPROTOPRIVATE + 4) | |
17 | #define SIOCX25SCALLUSERDATA (SIOCPROTOPRIVATE + 5) | |
18 | #define SIOCX25GCAUSEDIAG (SIOCPROTOPRIVATE + 6) | |
19 | ||
20 | /* | |
21 | * Values for {get,set}sockopt. | |
22 | */ | |
23 | #define X25_QBITINCL 1 | |
24 | ||
25 | /* | |
26 | * X.25 Packet Size values. | |
27 | */ | |
28 | #define X25_PS16 4 | |
29 | #define X25_PS32 5 | |
30 | #define X25_PS64 6 | |
31 | #define X25_PS128 7 | |
32 | #define X25_PS256 8 | |
33 | #define X25_PS512 9 | |
34 | #define X25_PS1024 10 | |
35 | #define X25_PS2048 11 | |
36 | #define X25_PS4096 12 | |
37 | ||
38 | /* | |
39 | * An X.121 address, it is held as ASCII text, null terminated, up to 15 | |
40 | * digits and a null terminator. | |
41 | */ | |
42 | struct x25_address { | |
43 | char x25_addr[16]; | |
44 | }; | |
45 | ||
46 | /* | |
47 | * Linux X.25 Address structure, used for bind, and connect mostly. | |
48 | */ | |
49 | struct sockaddr_x25 { | |
50 | sa_family_t sx25_family; /* Must be AF_X25 */ | |
51 | struct x25_address sx25_addr; /* X.121 Address */ | |
52 | }; | |
53 | ||
54 | /* | |
55 | * DTE/DCE subscription options. | |
56 | * | |
57 | * As this is missing lots of options, user should expect major | |
58 | * changes of this structure in 2.5.x which might break compatibilty. | |
59 | * The somewhat ugly dimension 200-sizeof() is needed to maintain | |
60 | * backward compatibility. | |
61 | */ | |
62 | struct x25_subscrip_struct { | |
63 | char device[200-sizeof(unsigned long)]; | |
64 | unsigned long global_facil_mask; /* 0 to disable negotiation */ | |
65 | unsigned int extended; | |
66 | }; | |
67 | ||
68 | /* values for above global_facil_mask */ | |
69 | ||
70 | #define X25_MASK_REVERSE 0x01 | |
71 | #define X25_MASK_THROUGHPUT 0x02 | |
72 | #define X25_MASK_PACKET_SIZE 0x04 | |
73 | #define X25_MASK_WINDOW_SIZE 0x08 | |
74 | ||
75 | ||
76 | ||
77 | /* | |
78 | * Routing table control structure. | |
79 | */ | |
80 | struct x25_route_struct { | |
81 | struct x25_address address; | |
82 | unsigned int sigdigits; | |
83 | char device[200]; | |
84 | }; | |
85 | ||
86 | /* | |
87 | * Facilities structure. | |
88 | */ | |
89 | struct x25_facilities { | |
90 | unsigned int winsize_in, winsize_out; | |
91 | unsigned int pacsize_in, pacsize_out; | |
92 | unsigned int throughput; | |
93 | unsigned int reverse; | |
94 | }; | |
95 | ||
96 | /* | |
97 | * Call User Data structure. | |
98 | */ | |
99 | struct x25_calluserdata { | |
100 | unsigned int cudlength; | |
101 | unsigned char cuddata[128]; | |
102 | }; | |
103 | ||
104 | /* | |
105 | * Call clearing Cause and Diagnostic structure. | |
106 | */ | |
107 | struct x25_causediag { | |
108 | unsigned char cause; | |
109 | unsigned char diagnostic; | |
110 | }; | |
111 | ||
112 | #endif |