Fedora kernel-2.6.17-1.2142_FC4 patched with stable patch-2.6.17.4-vs2.0.2-rc26.diff
[linux-2.6.git] / include / net / x25.h
index 7a1ba5b..0ad90eb 100644 (file)
@@ -79,6 +79,8 @@ enum {
 #define        X25_DEFAULT_PACKET_SIZE X25_PS128               /* Default Packet Size */
 #define        X25_DEFAULT_THROUGHPUT  0x0A                    /* Deafult Throughput */
 #define        X25_DEFAULT_REVERSE     0x00                    /* Default Reverse Charging */
+#define X25_DENY_ACCPT_APPRV   0x01                    /* Default value */
+#define X25_ALLOW_ACCPT_APPRV  0x00                    /* Control enabled */
 
 #define X25_SMODULUS           8
 #define        X25_EMODULUS            128
@@ -94,14 +96,22 @@ enum {
 #define        X25_FAC_CLASS_C         0x80
 #define        X25_FAC_CLASS_D         0xC0
 
-#define        X25_FAC_REVERSE         0x01
+#define        X25_FAC_REVERSE         0x01                    /* also fast select */
 #define        X25_FAC_THROUGHPUT      0x02
 #define        X25_FAC_PACKET_SIZE     0x42
 #define        X25_FAC_WINDOW_SIZE     0x43
 
-#define        X25_MAX_FAC_LEN         20              /* Plenty to spare */
+#define X25_MAX_FAC_LEN        60
 #define        X25_MAX_CUD_LEN         128
 
+#define X25_FAC_CALLING_AE     0xCB
+#define X25_FAC_CALLED_AE      0xC9
+
+#define X25_MARKER             0x00
+#define X25_DTE_SERVICES       0x0F
+#define X25_MAX_AE_LEN                 40                      /* Max num of semi-octets in AE - OSI Nw */
+#define X25_MAX_DTE_FACIL_LEN  21                      /* Max length of DTE facility params */
+
 /**
  *     struct x25_route - x25 routing entry
  *     @node - entry in x25_list_lock
@@ -134,8 +144,8 @@ struct x25_sock {
        struct sock             sk;
        struct x25_address      source_addr, dest_addr;
        struct x25_neigh        *neighbour;
-       unsigned int            lci;
-       unsigned char           state, condition, qbitincl, intflag;
+       unsigned int            lci, cudmatchlength;
+       unsigned char           state, condition, qbitincl, intflag, accptapprv;
        unsigned short          vs, vr, va, vl;
        unsigned long           t2, t21, t22, t23;
        unsigned short          fraglen;
@@ -146,6 +156,7 @@ struct x25_sock {
        struct timer_list       timer;
        struct x25_causediag    causediag;
        struct x25_facilities   facilities;
+       struct x25_dte_facilities dte_facilities;
        struct x25_calluserdata calluserdata;
        unsigned long           vc_facil_mask;  /* inc_call facilities mask */
 };
@@ -173,14 +184,18 @@ extern void x25_kill_by_neigh(struct x25_neigh *);
 
 /* x25_dev.c */
 extern void x25_send_frame(struct sk_buff *, struct x25_neigh *);
-extern int  x25_lapb_receive_frame(struct sk_buff *, struct net_device *, struct packet_type *);
+extern int  x25_lapb_receive_frame(struct sk_buff *, struct net_device *, struct packet_type *, struct net_device *);
 extern void x25_establish_link(struct x25_neigh *);
 extern void x25_terminate_link(struct x25_neigh *);
 
 /* x25_facilities.c */
-extern int  x25_parse_facilities(struct sk_buff *, struct x25_facilities *, unsigned long *);
-extern int  x25_create_facilities(unsigned char *, struct x25_facilities *, unsigned long);
-extern int  x25_negotiate_facilities(struct sk_buff *, struct sock *, struct x25_facilities *);
+extern int x25_parse_facilities(struct sk_buff *, struct x25_facilities *,
+                               struct x25_dte_facilities *, unsigned long *);
+extern int x25_create_facilities(unsigned char *, struct x25_facilities *,
+                               struct x25_dte_facilities *, unsigned long);
+extern int x25_negotiate_facilities(struct sk_buff *, struct sock *,
+                               struct x25_facilities *,
+                               struct x25_dte_facilities *);
 extern void x25_limit_facilities(struct x25_facilities *, struct x25_neigh *);
 
 /* x25_in.c */
@@ -242,7 +257,6 @@ extern int  x25_validate_nr(struct sock *, unsigned short);
 extern void x25_write_internal(struct sock *, int);
 extern int  x25_decode(struct sock *, struct sk_buff *, int *, int *, int *, int *, int *);
 extern void x25_disconnect(struct sock *, int, unsigned char, unsigned char);
-extern int x25_check_calluserdata(struct x25_calluserdata *,struct x25_calluserdata *);
 
 /* x25_timer.c */
 extern void x25_start_heartbeat(struct sock *);