X25: Move accept approve flag to bitfield

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>
This commit is contained in:
andrew hendry 2010-05-16 23:00:27 +00:00 committed by David S. Miller
parent b7792e34cb
commit 37cda78741
2 changed files with 8 additions and 9 deletions

View File

@ -80,8 +80,6 @@ enum {
#define X25_DEFAULT_PACKET_SIZE X25_PS128 /* Default Packet Size */ #define X25_DEFAULT_PACKET_SIZE X25_PS128 /* Default Packet Size */
#define X25_DEFAULT_THROUGHPUT 0x0A /* Deafult Throughput */ #define X25_DEFAULT_THROUGHPUT 0x0A /* Deafult Throughput */
#define X25_DEFAULT_REVERSE 0x00 /* Default Reverse Charging */ #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_SMODULUS 8
#define X25_EMODULUS 128 #define X25_EMODULUS 128
@ -116,6 +114,7 @@ enum {
/* Bitset in x25_sock->flags for misc flags */ /* Bitset in x25_sock->flags for misc flags */
#define X25_Q_BIT_FLAG 0 #define X25_Q_BIT_FLAG 0
#define X25_INTERRUPT_FLAG 1 #define X25_INTERRUPT_FLAG 1
#define X25_ACCPT_APPRV_FLAG 2
/** /**
* struct x25_route - x25 routing entry * struct x25_route - x25 routing entry
@ -150,7 +149,7 @@ struct x25_sock {
struct x25_address source_addr, dest_addr; struct x25_address source_addr, dest_addr;
struct x25_neigh *neighbour; struct x25_neigh *neighbour;
unsigned int lci, cudmatchlength; unsigned int lci, cudmatchlength;
unsigned char state, condition, accptapprv; unsigned char state, condition;
unsigned short vs, vr, va, vl; unsigned short vs, vr, va, vl;
unsigned long t2, t21, t22, t23; unsigned long t2, t21, t22, t23;
unsigned short fraglen; unsigned short fraglen;

View 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->t2 = sysctl_x25_ack_holdback_timeout;
x25->state = X25_STATE_0; x25->state = X25_STATE_0;
x25->cudmatchlength = 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 */ /* on call accept */
x25->facilities.winsize_in = X25_DEFAULT_WINDOW_SIZE; 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->facilities = ox25->facilities;
x25->dte_facilities = ox25->dte_facilities; x25->dte_facilities = ox25->dte_facilities;
x25->cudmatchlength = ox25->cudmatchlength; x25->cudmatchlength = ox25->cudmatchlength;
x25->accptapprv = ox25->accptapprv;
clear_bit(X25_INTERRUPT_FLAG, &x25->flags); clear_bit(X25_INTERRUPT_FLAG, &x25->flags);
x25_init_timers(sk); 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->vc_facil_mask &= ~X25_MASK_CALLING_AE;
makex25->cudmatchlength = x25_sk(sk)->cudmatchlength; makex25->cudmatchlength = x25_sk(sk)->cudmatchlength;
/* Normally all calls are accepted immediatly */ /* Normally all calls are accepted immediately */
if(makex25->accptapprv & X25_DENY_ACCPT_APPRV) { if (test_bit(X25_ACCPT_APPRV_FLAG, &makex25->flags)) {
x25_write_internal(make, X25_CALL_ACCEPTED); x25_write_internal(make, X25_CALL_ACCEPTED);
makex25->state = X25_STATE_3; makex25->state = X25_STATE_3;
} }
@ -1580,7 +1579,7 @@ static int x25_ioctl(struct socket *sock, unsigned int cmd, unsigned long arg)
rc = -EINVAL; rc = -EINVAL;
if (sk->sk_state != TCP_CLOSE) if (sk->sk_state != TCP_CLOSE)
break; break;
x25->accptapprv = X25_ALLOW_ACCPT_APPRV; clear_bit(X25_ACCPT_APPRV_FLAG, &x25->flags);
rc = 0; rc = 0;
break; break;
} }
@ -1589,7 +1588,8 @@ static int x25_ioctl(struct socket *sock, unsigned int cmd, unsigned long arg)
rc = -EINVAL; rc = -EINVAL;
if (sk->sk_state != TCP_ESTABLISHED) if (sk->sk_state != TCP_ESTABLISHED)
break; break;
if (x25->accptapprv) /* must call accptapprv above */ /* must call accptapprv above */
if (test_bit(X25_ACCPT_APPRV_FLAG, &x25->flags))
break; break;
x25_write_internal(sk, X25_CALL_ACCEPTED); x25_write_internal(sk, X25_CALL_ACCEPTED);
x25->state = X25_STATE_3; x25->state = X25_STATE_3;