diff options
author | Julian Elischer <julian@FreeBSD.org> | 2001-07-23 21:14:57 +0000 |
---|---|---|
committer | Julian Elischer <julian@FreeBSD.org> | 2001-07-23 21:14:57 +0000 |
commit | c31b4a5381c782d2d196759a8b0c24a8606470ff (patch) | |
tree | b3990a9856719af0230ef00d47ccb95e1426696d /sys/netgraph/ng_base.c | |
parent | 6b8fa042256c5fcd5c693892a0537d9dba5f7ffb (diff) | |
download | src-c31b4a5381c782d2d196759a8b0c24a8606470ff.tar.gz src-c31b4a5381c782d2d196759a8b0c24a8606470ff.zip |
Add an external function to unlink a netgraph type from the types list.
Notes
Notes:
svn path=/head/; revision=80222
Diffstat (limited to 'sys/netgraph/ng_base.c')
-rw-r--r-- | sys/netgraph/ng_base.c | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/sys/netgraph/ng_base.c b/sys/netgraph/ng_base.c index 6cba23b3c473..553193b99c39 100644 --- a/sys/netgraph/ng_base.c +++ b/sys/netgraph/ng_base.c @@ -1167,6 +1167,26 @@ ng_newtype(struct ng_type *tp) } /* + * unlink a netgraph type + * If no examples exist + */ +int +ng_rmtype(struct ng_type *tp) +{ + /* Check for name collision */ + if (tp->refs != 1) { + TRAP_ERROR(); + return (EBUSY); + } + + /* Unlink type */ + mtx_lock(&ng_typelist_mtx); + LIST_REMOVE(tp, types); + mtx_unlock(&ng_typelist_mtx); + return (0); +} + +/* * Look for a type of the name given */ struct ng_type * |