Linux kernel & device driver programming

Cross-Referenced Linux and Device Driver Code

[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ]
Version: [ 2.6.11.8 ] [ 2.6.25 ] [ 2.6.25.8 ] [ 2.6.31.13 ] Architecture: [ i386 ]
  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
113 
  This page was automatically generated by the LXR engine.