next up previous contents
Next: 5.6 SAM API Up: 5 Interface Description Previous: 5.4 FCM Queue Information   Contents

Subsections


5.5 FCM API

Kernel-doc is used to generate online documentation in HTML format for each kernel module of FCM from comments within the code. The Router module API can be found at:

http://www.cs.mu.oz.au/340/s340gm/doc/router.html

The Receiver module API can be found at:

http://www.cs.mu.oz.au/340/s340gm/doc/receiver.html

The FCM logger module API can be found at:

http://www.cs.mu.oz.au/340/s340gm/api-docs.html

5.5.1 External Structures

As part of the communication between FCM and the kernel, structures defined elsewhere in the kernel are passed to FCM. These will not be fully described here, but can be found in the include directory of the kernel source. The structures are:

struct skbuff
Defines a socket buffer which contains a packet which has been received or is about to be sent. As well as the contents of the packet, information used to build or receive it is also stored. The definition can be found in include/linux/skbuff.h
struct Qdisc
Defines an instance of a queueing discipline for use in QOS code. It holds information about the device it has been created for, as well as any options used in creating it. The definition can be found in include/net/pkt_sched.h
struct rtattr
Encapsulates information about network routes. Contains just two fields, rta_len and rta_type. The definition can be found in include/linux/rtnetlink.h
struct net_device
Contains all the information the kernel knows about a network device. This includes information such as the MTU (Maximum Transmission Unit). The definition can be found in include/linux/netdevice.h


next up previous contents
Next: 5.6 SAM API Up: 5 Interface Description Previous: 5.4 FCM Queue Information   Contents