#include <linux/module.h>
#include <linux/kernel.h>
#include <linux/init.h>
#include <linux/etherdevice.h>
#include <linux/netdevice.h>
#include <linux/skbuff.h>
#include <net/ncsi.h>
#include <net/net_namespace.h>
#include <net/sock.h>
#include <net/genetlink.h>
#include "internal.h"
#include "ncsi-pkt.h"
static const int padding_bytes = …;
u32 ncsi_calculate_checksum(unsigned char *data, int len)
{ … }
static void ncsi_cmd_build_header(struct ncsi_pkt_hdr *h,
struct ncsi_cmd_arg *nca)
{ … }
static int ncsi_cmd_handler_default(struct sk_buff *skb,
struct ncsi_cmd_arg *nca)
{ … }
static int ncsi_cmd_handler_sp(struct sk_buff *skb,
struct ncsi_cmd_arg *nca)
{ … }
static int ncsi_cmd_handler_dc(struct sk_buff *skb,
struct ncsi_cmd_arg *nca)
{ … }
static int ncsi_cmd_handler_rc(struct sk_buff *skb,
struct ncsi_cmd_arg *nca)
{ … }
static int ncsi_cmd_handler_ae(struct sk_buff *skb,
struct ncsi_cmd_arg *nca)
{ … }
static int ncsi_cmd_handler_sl(struct sk_buff *skb,
struct ncsi_cmd_arg *nca)
{ … }
static int ncsi_cmd_handler_svf(struct sk_buff *skb,
struct ncsi_cmd_arg *nca)
{ … }
static int ncsi_cmd_handler_ev(struct sk_buff *skb,
struct ncsi_cmd_arg *nca)
{ … }
static int ncsi_cmd_handler_sma(struct sk_buff *skb,
struct ncsi_cmd_arg *nca)
{ … }
static int ncsi_cmd_handler_ebf(struct sk_buff *skb,
struct ncsi_cmd_arg *nca)
{ … }
static int ncsi_cmd_handler_egmf(struct sk_buff *skb,
struct ncsi_cmd_arg *nca)
{ … }
static int ncsi_cmd_handler_snfc(struct sk_buff *skb,
struct ncsi_cmd_arg *nca)
{ … }
static int ncsi_cmd_handler_oem(struct sk_buff *skb,
struct ncsi_cmd_arg *nca)
{ … }
static struct ncsi_cmd_handler { … } ncsi_cmd_handlers[] = …;
static struct ncsi_request *ncsi_alloc_command(struct ncsi_cmd_arg *nca)
{ … }
int ncsi_xmit_cmd(struct ncsi_cmd_arg *nca)
{ … }