Data Structures | |
struct | rtnl_class_ops |
Class operations. More... | |
Modules | |
Class Based Queueing (CBQ) | |
Differentiated Services Marker (DSMARK) | |
Hierachical Token Bucket (HTB) | |
Module API | |
| |
int | rtnl_class_register (struct rtnl_class_ops *cops) |
Register a class module. | |
int | rtnl_class_unregister (struct rtnl_class_ops *cops) |
Unregister a class module. | |
struct rtnl_class_ops * | __rtnl_class_lookup_ops (const char *kind) |
struct rtnl_class_ops * | rtnl_class_lookup_ops (struct rtnl_class *class) |
Lookup class operations for a class object. |
int rtnl_class_register | ( | struct rtnl_class_ops * | cops | ) |
cops | class module operations |
Definition at line 37 of file class_api.c.
References rtnl_class_ops::co_kind, and rtnl_class_ops::co_next.
00038 { 00039 struct rtnl_class_ops *o, **op; 00040 00041 if (!cops->co_kind[0]) 00042 BUG(); 00043 00044 for (op = &class_ops_list; (o = *op) != NULL; op = &o->co_next) 00045 if (!strcasecmp(cops->co_kind, o->co_kind)) 00046 return nl_errno(EEXIST); 00047 00048 cops->co_next = NULL; 00049 *op = cops; 00050 00051 return 0; 00052 }
int rtnl_class_unregister | ( | struct rtnl_class_ops * | cops | ) |
cops | class module operations |
Definition at line 58 of file class_api.c.
References rtnl_class_ops::co_kind, and rtnl_class_ops::co_next.
00059 { 00060 struct rtnl_class_ops *o, **op; 00061 00062 for (op = &class_ops_list; (o = *op) != NULL; op = &o->co_next) 00063 if (!strcasecmp(cops->co_kind, o->co_kind)) 00064 break; 00065 00066 if (!o) 00067 return nl_errno(ENOENT); 00068 00069 *op = cops->co_next; 00070 00071 return 0; 00072 }
struct rtnl_class_ops* rtnl_class_lookup_ops | ( | struct rtnl_class * | class | ) | [read] |
class | Class object. |
Definition at line 91 of file class_api.c.