secgateway/Product/modules/proc_api/proc_api.h

44 lines
1.4 KiB
C

#ifndef _PROC_API_H
#define _PROC_API_H
#ifdef __KERNEL__
#include <asm/atomic.h>
#include "../../common/common.h"
#define PROC_API_DIR_NAME ("isg")
typedef enum {
ERR_DBGFS_NO_ERROR = 0,
ERR_PARA_OUTOFRANGE,
ERR_MALLOC_MEMORY,
ERR_DBGFS_INIT,
ERR_DBGFS_REGISTER,
ERR_DBGFS_UNREGISTER,
ERR_DBGFS_WRITEOPTS
} PROC_ERRCODE;
typedef struct {
const char* name; ///< 节点名称
unsigned int params; ///< 参数
unsigned long mask; ///< 命令掩码
char* cmd; ///< 命令
char* cmd_data; ///< 命令参数
int (* show)(struct seq_file*, void*); ///< 输出接口
int (* ioctl)(struct seq_file*, void*); ///< 输入接口
int (* help)(struct seq_file*, void*); ///< 帮助接口
} DBGFS_PRIV, *PDBGFS_PRIV;
typedef struct {
const char* dir_name; ///< 目录名称
PDBGFS_PRIV data; ///< 节点数组
int num_data; ///< 节点个数
} PROC_API, *PPROC_API;
int proc_api_register(PPROC_API pv);
int proc_api_unregister(PPROC_API pv);
int get_int_value(unsigned char* pBuf, int index, int* pValue);
int get_string_value(unsigned char* pBuf, int index, unsigned char* pValue, unsigned int maxBytes);
#endif
#endif