Subversion Repositories shark

Rev

Rev 422 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
422 giacomo 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