Messages in this thread Patch in this message | | | From | Samir Bellabes <> | Subject | [RFC v2 10/10] snet: introduce snet_utils | Date | Tue, 2 Mar 2010 21:23:14 +0100 |
| |
This patch provides helper functions for other subsystems
Signed-off-by: Samir Bellabes <sam@synack.fr> --- security/snet/snet_utils.c | 38 ++++++++++++++++++++++++++++++++++++++ security/snet/snet_utils.h | 10 ++++++++++ 2 files changed, 48 insertions(+), 0 deletions(-) create mode 100644 security/snet/snet_utils.c create mode 100644 security/snet/snet_utils.h
diff --git a/security/snet/snet_utils.c b/security/snet/snet_utils.c new file mode 100644 index 0000000..e9178d7 --- /dev/null +++ b/security/snet/snet_utils.c @@ -0,0 +1,38 @@ +#include <linux/types.h> +#include <linux/snet.h> + +const char *snet_verdict_name(const enum snet_verdict cmd) +{ + static const char *const verdict_name[] = { + [SNET_VERDICT_GRANT] = "Grant", + [SNET_VERDICT_DENY] = "Deny", + [SNET_VERDICT_PENDING] = "Pending", + [SNET_VERDICT_NONE] = "None", + }; + + if (cmd >= SNET_NR_VERDICT_TYPES) + return "INVALID"; + else + return verdict_name[cmd]; +} + +const char *snet_syscall_name(const enum snet_syscall sys) +{ + static const char *const syscall_name[] = { + [SNET_SOCKET_CREATE] = "Create", + [SNET_SOCKET_BIND] = "Bind", + [SNET_SOCKET_CONNECT] = "Connect", + [SNET_SOCKET_LISTEN] = "Listen", + [SNET_SOCKET_ACCEPT] = "Accept", + [SNET_SOCKET_POST_ACCEPT] = "Post Accept", + [SNET_SOCKET_SENDMSG] = "Sendmsg", + [SNET_SOCKET_RECVMSG] = "Recvmsg", + [SNET_SOCKET_SOCK_RCV_SKB] = "Sock Rcv Skb", + [SNET_SOCKET_CLOSE] = "Close", + }; + + if (sys >= SNET_NR_SOCKET_TYPES) + return "INVALID"; + else + return syscall_name[sys]; +} diff --git a/security/snet/snet_utils.h b/security/snet/snet_utils.h new file mode 100644 index 0000000..4dad18b --- /dev/null +++ b/security/snet/snet_utils.h @@ -0,0 +1,10 @@ +#ifndef _SNET_UTILS_H +#define _SNET_UTILS_H + +#include <linux/skbuff.h> + +int snet_data_fill(struct sk_buff *skb_rsp, struct snet_info *info); +const char *snet_verdict_name(const enum snet_verdict cmd); +const char *snet_syscall_name(const enum snet_syscall sys); + +#endif /* _SNET_UTILS_H */ -- 1.6.3.3
| |