[DCCP] CCID: Improve CCID infrastructure
authorArnaldo Carvalho de Melo <acme@mandriva.com>
Tue, 21 Mar 2006 03:21:44 +0000 (19:21 -0800)
committerDavid S. Miller <davem@davemloft.net>
Tue, 21 Mar 2006 03:21:44 +0000 (19:21 -0800)
commit91f0ebf7b6d5cb2b6e818d48587566144821babe
tree505c66f36bd72014d7eacb7a04ea011bae2e9a3a
parentf38c39d6ce8226519455a6dfe91c2ad84f363f6f
[DCCP] CCID: Improve CCID infrastructure

1. No need for ->ccid_init nor ->ccid_exit, this is what module_{init,exit}
   does and anynways neither ccid2 nor ccid3 were using it.

2. Rename struct ccid to struct ccid_operations and introduce struct ccid
   with a pointer to ccid_operations and rigth after it the rx or tx
   private state.

3. Remove the pointer to the state of the half connections from struct
   dccp_sock, now its derived thru ccid_priv() from the ccid pointer.

Now we also can implement the setsockopt for changing the CCID easily as
no ccid init routines can affect struct dccp_sock in any way that prevents
other CCIDs from working if a CCID switch operation is asked by apps.

Signed-off-by: Arnaldo Carvalho de Melo <acme@mandriva.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
include/linux/dccp.h
net/dccp/ccid.c
net/dccp/ccid.h
net/dccp/ccids/ccid2.c
net/dccp/ccids/ccid2.h
net/dccp/ccids/ccid3.c
net/dccp/ccids/ccid3.h
net/dccp/input.c
net/dccp/ipv4.c
net/dccp/minisocks.c