summaryrefslogtreecommitdiffstats
path: root/net/dccp/ccid.h
diff options
context:
space:
mode:
authorGerrit Renker <gerrit@erg.abdn.ac.uk>2007-12-13 23:31:14 -0200
committerDavid S. Miller <davem@davemloft.net>2008-01-28 14:57:58 -0800
commit9cb2345a8c49ea380437d02bb9fd9f291c0a005d (patch)
treed9305b7be0f0a29bdfc252285b7c1079c18a29cf /net/dccp/ccid.h
parentf5026fabda54e5ab5d469d8cfac5f46b4d321ce9 (diff)
downloadlinux-9cb2345a8c49ea380437d02bb9fd9f291c0a005d.tar.gz
linux-9cb2345a8c49ea380437d02bb9fd9f291c0a005d.tar.bz2
linux-9cb2345a8c49ea380437d02bb9fd9f291c0a005d.zip
[DCCP]: Documentation for CCID operations
This adds documentation for the ccid_operations structure. Signed-off-by: Gerrit Renker <gerrit@erg.abdn.ac.uk> Signed-off-by: Ian McDonald <ian.mcdonald@jandi.co.nz> Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/dccp/ccid.h')
-rw-r--r--net/dccp/ccid.h35
1 files changed, 28 insertions, 7 deletions
diff --git a/net/dccp/ccid.h b/net/dccp/ccid.h
index c65cb2453e43..e3cdd8afc801 100644
--- a/net/dccp/ccid.h
+++ b/net/dccp/ccid.h
@@ -23,14 +23,35 @@
struct tcp_info;
+/**
+ * struct ccid_operations - Interface to Congestion-Control Infrastructure
+ *
+ * @ccid_id: numerical CCID ID (up to %CCID_MAX, cf. table 5 in RFC 4340, 10.)
+ * @ccid_name: alphabetical identifier string for @ccid_id
+ * @ccid_owner: module which implements/owns this CCID
+ * @ccid_hc_{r,t}x_slab: memory pool for the receiver/sender half-connection
+ * @ccid_hc_{r,t}x_obj_size: size of the receiver/sender half-connection socket
+ *
+ * @ccid_hc_{r,t}x_init: CCID-specific initialisation routine (before startup)
+ * @ccid_hc_{r,t}x_exit: CCID-specific cleanup routine (before destruction)
+ * @ccid_hc_rx_packet_recv: implements the HC-receiver side
+ * @ccid_hc_{r,t}x_parse_options: parsing routine for CCID/HC-specific options
+ * @ccid_hc_{r,t}x_insert_options: insert routine for CCID/HC-specific options
+ * @ccid_hc_tx_packet_recv: implements feedback processing for the HC-sender
+ * @ccid_hc_tx_send_packet: implements the sending part of the HC-sender
+ * @ccid_hc_tx_packet_sent: does accounting for packets in flight by HC-sender
+ * @ccid_hc_{r,t}x_get_info: INET_DIAG information for HC-receiver/sender
+ * @ccid_hc_{r,t}x_getsockopt: socket options specific to HC-receiver/sender
+ */
struct ccid_operations {
- unsigned char ccid_id;
- const char *ccid_name;
- struct module *ccid_owner;
- struct kmem_cache *ccid_hc_rx_slab;
- __u32 ccid_hc_rx_obj_size;
- struct kmem_cache *ccid_hc_tx_slab;
- __u32 ccid_hc_tx_obj_size;
+ unsigned char ccid_id;
+ const char *ccid_name;
+ struct module *ccid_owner;
+ struct kmem_cache *ccid_hc_rx_slab,
+ *ccid_hc_tx_slab;
+ __u32 ccid_hc_rx_obj_size,
+ ccid_hc_tx_obj_size;
+ /* Interface Routines */
int (*ccid_hc_rx_init)(struct ccid *ccid, struct sock *sk);
int (*ccid_hc_tx_init)(struct ccid *ccid, struct sock *sk);
void (*ccid_hc_rx_exit)(struct sock *sk);