X25: Move accept approve flag to bitfield
authorandrew hendry <andrew.hendry@gmail.com>
Sun, 16 May 2010 23:00:27 +0000 (23:00 +0000)
committerDavid S. Miller <davem@davemloft.net>
Tue, 18 May 2010 00:39:27 +0000 (17:39 -0700)
Moves the x25 accept approve flag from char into bitfield.

Signed-off-by: Andrew Hendry <andrew.hendry@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
include/net/x25.h
net/x25/af_x25.c

index 1576e92..1479cb4 100644 (file)
@@ -80,8 +80,6 @@ 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
@@ -116,6 +114,7 @@ enum {
 /* Bitset in x25_sock->flags for misc flags */
 #define X25_Q_BIT_FLAG         0
 #define X25_INTERRUPT_FLAG     1
+#define X25_ACCPT_APPRV_FLAG   2
 
 /**
  *     struct x25_route - x25 routing entry
@@ -150,7 +149,7 @@ struct x25_sock {
        struct x25_address      source_addr, dest_addr;
        struct x25_neigh        *neighbour;
        unsigned int            lci, cudmatchlength;
-       unsigned char           state, condition, accptapprv;
+       unsigned char           state, condition;
        unsigned short          vs, vr, va, vl;
        unsigned long           t2, t21, t22, t23;
        unsigned short          fraglen;
index 3d97b8c..e5c1e32 100644 (file)
@@ -586,7 +586,7 @@ static int x25_create(struct net *net, struct socket *sock, int protocol,
        x25->t2    = sysctl_x25_ack_holdback_timeout;
        x25->state = X25_STATE_0;
        x25->cudmatchlength = 0;
-       x25->accptapprv = X25_DENY_ACCPT_APPRV;         /* normally no cud  */
+       set_bit(X25_ACCPT_APPRV_FLAG, &x25->flags);     /* normally no cud  */
                                                        /* on call accept   */
 
        x25->facilities.winsize_in  = X25_DEFAULT_WINDOW_SIZE;
@@ -639,7 +639,6 @@ static struct sock *x25_make_new(struct sock *osk)
        x25->facilities = ox25->facilities;
        x25->dte_facilities = ox25->dte_facilities;
        x25->cudmatchlength = ox25->cudmatchlength;
-       x25->accptapprv = ox25->accptapprv;
 
        clear_bit(X25_INTERRUPT_FLAG, &x25->flags);
        x25_init_timers(sk);
@@ -1057,8 +1056,8 @@ int x25_rx_call_request(struct sk_buff *skb, struct x25_neigh *nb,
        makex25->vc_facil_mask &= ~X25_MASK_CALLING_AE;
        makex25->cudmatchlength = x25_sk(sk)->cudmatchlength;
 
-       /* Normally all calls are accepted immediatly */
-       if(makex25->accptapprv & X25_DENY_ACCPT_APPRV) {
+       /* Normally all calls are accepted immediately */
+       if (test_bit(X25_ACCPT_APPRV_FLAG, &makex25->flags)) {
                x25_write_internal(make, X25_CALL_ACCEPTED);
                makex25->state = X25_STATE_3;
        }
@@ -1580,7 +1579,7 @@ static int x25_ioctl(struct socket *sock, unsigned int cmd, unsigned long arg)
                        rc = -EINVAL;
                        if (sk->sk_state != TCP_CLOSE)
                                break;
-                       x25->accptapprv = X25_ALLOW_ACCPT_APPRV;
+                       clear_bit(X25_ACCPT_APPRV_FLAG, &x25->flags);
                        rc = 0;
                        break;
                }
@@ -1589,7 +1588,8 @@ static int x25_ioctl(struct socket *sock, unsigned int cmd, unsigned long arg)
                        rc = -EINVAL;
                        if (sk->sk_state != TCP_ESTABLISHED)
                                break;
-                       if (x25->accptapprv)    /* must call accptapprv above */
+                       /* must call accptapprv above */
+                       if (test_bit(X25_ACCPT_APPRV_FLAG, &x25->flags))
                                break;
                        x25_write_internal(sk, X25_CALL_ACCEPTED);
                        x25->state = X25_STATE_3;