OpenCores
URL https://opencores.org/ocsvn/hf-risc/hf-risc/trunk

Subversion Repositories hf-risc

[/] [hf-risc/] [trunk/] [tools/] [riscv-gnu-toolchain-master/] [linux-headers/] [include/] [linux/] [x25.h] - Blame information for rev 13

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 13 serginhofr
/*
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
 *      apr/02/05       Shaun Pereira Selective sub address matching with
8
 *                                      call user data
9
 */
10
 
11
#ifndef X25_KERNEL_H
12
#define X25_KERNEL_H
13
 
14
#include <linux/types.h>
15
#include <linux/socket.h>
16
 
17
#define SIOCX25GSUBSCRIP        (SIOCPROTOPRIVATE + 0)
18
#define SIOCX25SSUBSCRIP        (SIOCPROTOPRIVATE + 1)
19
#define SIOCX25GFACILITIES      (SIOCPROTOPRIVATE + 2)
20
#define SIOCX25SFACILITIES      (SIOCPROTOPRIVATE + 3)
21
#define SIOCX25GCALLUSERDATA    (SIOCPROTOPRIVATE + 4)
22
#define SIOCX25SCALLUSERDATA    (SIOCPROTOPRIVATE + 5)
23
#define SIOCX25GCAUSEDIAG       (SIOCPROTOPRIVATE + 6)
24
#define SIOCX25SCUDMATCHLEN     (SIOCPROTOPRIVATE + 7)
25
#define SIOCX25CALLACCPTAPPRV   (SIOCPROTOPRIVATE + 8)
26
#define SIOCX25SENDCALLACCPT    (SIOCPROTOPRIVATE + 9)
27
#define SIOCX25GDTEFACILITIES (SIOCPROTOPRIVATE + 10)
28
#define SIOCX25SDTEFACILITIES (SIOCPROTOPRIVATE + 11)
29
#define SIOCX25SCAUSEDIAG       (SIOCPROTOPRIVATE + 12)
30
 
31
/*
32
 *      Values for {get,set}sockopt.
33
 */
34
#define X25_QBITINCL            1
35
 
36
/*
37
 *      X.25 Packet Size values.
38
 */
39
#define X25_PS16                4
40
#define X25_PS32                5
41
#define X25_PS64                6
42
#define X25_PS128               7
43
#define X25_PS256               8
44
#define X25_PS512               9
45
#define X25_PS1024              10
46
#define X25_PS2048              11
47
#define X25_PS4096              12
48
 
49
/*
50
 * An X.121 address, it is held as ASCII text, null terminated, up to 15
51
 * digits and a null terminator.
52
 */
53
struct x25_address {
54
        char x25_addr[16];
55
};
56
 
57
/*
58
 *      Linux X.25 Address structure, used for bind, and connect mostly.
59
 */
60
struct sockaddr_x25 {
61
        __kernel_sa_family_t sx25_family;       /* Must be AF_X25 */
62
        struct x25_address sx25_addr;           /* X.121 Address */
63
};
64
 
65
/*
66
 *      DTE/DCE subscription options.
67
 *
68
 *      As this is missing lots of options, user should expect major
69
 *      changes of this structure in 2.5.x which might break compatibilty.
70
 *      The somewhat ugly dimension 200-sizeof() is needed to maintain
71
 *      backward compatibility.
72
 */
73
struct x25_subscrip_struct {
74
        char device[200-sizeof(unsigned long)];
75
        unsigned long   global_facil_mask;      /* 0 to disable negotiation */
76
        unsigned int    extended;
77
};
78
 
79
/* values for above global_facil_mask */
80
 
81
#define X25_MASK_REVERSE        0x01    
82
#define X25_MASK_THROUGHPUT     0x02
83
#define X25_MASK_PACKET_SIZE    0x04
84
#define X25_MASK_WINDOW_SIZE    0x08
85
 
86
#define X25_MASK_CALLING_AE 0x10
87
#define X25_MASK_CALLED_AE 0x20
88
 
89
 
90
/*
91
 *      Routing table control structure.
92
 */
93
struct x25_route_struct {
94
        struct x25_address address;
95
        unsigned int       sigdigits;
96
        char               device[200];
97
};
98
 
99
/*
100
 *      Facilities structure.
101
 */
102
struct x25_facilities {
103
        unsigned int    winsize_in, winsize_out;
104
        unsigned int    pacsize_in, pacsize_out;
105
        unsigned int    throughput;
106
        unsigned int    reverse;
107
};
108
 
109
/*
110
* ITU DTE facilities
111
* Only the called and calling address
112
* extension are currently implemented.
113
* The rest are in place to avoid the struct
114
* changing size if someone needs them later
115
*/
116
 
117
struct x25_dte_facilities {
118
        __u16 delay_cumul;
119
        __u16 delay_target;
120
        __u16 delay_max;
121
        __u8 min_throughput;
122
        __u8 expedited;
123
        __u8 calling_len;
124
        __u8 called_len;
125
        __u8 calling_ae[20];
126
        __u8 called_ae[20];
127
};
128
 
129
/*
130
 *      Call User Data structure.
131
 */
132
struct x25_calluserdata {
133
        unsigned int    cudlength;
134
        unsigned char   cuddata[128];
135
};
136
 
137
/*
138
 *      Call clearing Cause and Diagnostic structure.
139
 */
140
struct x25_causediag {
141
        unsigned char   cause;
142
        unsigned char   diagnostic;
143
};
144
 
145
/*
146
 *      Further optional call user data match length selection
147
 */
148
struct x25_subaddr {
149
        unsigned int cudmatchlength;
150
};
151
 
152
#endif

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.