📄 nvram.h
字号:
#ifndef _LINUX_NVRAM_H#define _LINUX_NVRAM_H#include <linux/ioctl.h>/* /dev/nvram ioctls */#define NVRAM_INIT _IO('p', 0x40) /* initialize NVRAM and set checksum */#define NVRAM_SETCKS _IO('p', 0x41) /* recalculate checksum */// Getters #define NVRAM_COMMIT _IO('p', 0x42)#define NVRAM_GET_SERIAL _IO('p', 0x43)#define NVRAM_GET_SERIAL_SIG _IO('p', 0x44)#define NVRAM_GET_RSA_PUBLIC1 _IO('p', 0x45)#define NVRAM_GET_RSA_PUBLIC2 _IO('p', 0x46)#define NVRAM_GET_DIVX_DATA _IO('p', 0x47)#define NVRAM_GET_RSA_DEV_PRIVATE _IO('p', 0x48)#define NVRAM_GET_RSA_DEV_PUBLIC _IO('p', 0x49)#define NVRAM_GET_MANUFACTURER _IO('p', 0x50)#define NVRAM_GET_MODEL_ID _IO('p', 0x51)#define NVRAM_GET_MASS_STORAGE_NUM _IO('p', 0x52)#define NVRAM_GET_AES_KEY_1 _IO('p', 0x53)#define NVRAM_GET_AES_KEY_2 _IO('p', 0x54)#define NVRAM_GET_DIVX_MODEL_ID _IO('p', 0x55)// Setters#define NVRAM_SET_SERIAL _IO('p', 0x56)#define NVRAM_SET_SERIAL_SIG _IO('p', 0x57)#define NVRAM_SET_RSA_PUBLIC1 _IO('p', 0x58)#define NVRAM_SET_RSA_PUBLIC2 _IO('p', 0x59)#define NVRAM_SET_DIVX_DATA _IO('p', 0x60)#define NVRAM_SET_RSA_DEV_PRIVATE _IO('p', 0x61)#define NVRAM_SET_RSA_DEV_PUBLIC _IO('p', 0x62)#define NVRAM_SET_MANUFACTURER _IO('p', 0x63)#define NVRAM_SET_MODEL_ID _IO('p', 0x64)#define NVRAM_SET_MASS_STORAGE_NUM _IO('p', 0x65)#define NVRAM_SET_AES_KEY_1 _IO('p', 0x66)#define NVRAM_SET_AES_KEY_2 _IO('p', 0x67)#define NVRAM_SET_DIVX_MODEL_ID _IO('p', 0x68)#define NVRAM_RESET_ALL _IO('p', 0x69)// Strings are may not be zero terminated#define ANCHOR_SIZE 12#define SERIAL_NUM_SIZE 32#define SERIAL_NUM_SIG_SIZE 20#define RSA_KEY_SIZE 128#define DIVX_STORE_SIZE 48#define MANUF_SIZE 40#define MODEL_ID_SIZE 40#define STORAGE_SERIAL_NUM_SIZE 64#define AES_SECRET_SIZE 16#define DIVX_MODEL_SIZE 2#define RESERVED_SIZE NVRAM_PUBLIC_OFFSET - (ANCHOR_SIZE+SERIAL_NUM_SIZE+SERIAL_NUM_SIG_SIZE+(RSA_KEY_SIZE*4)+\ DIVX_STORE_SIZE+MANUF_SIZE+MODEL_ID_SIZE+STORAGE_SERIAL_NUM_SIZE+(2*AES_SECRET_SIZE)+DIVX_MODEL_SIZE)#endif#ifdef CONFIG_AU1XXX_NVRAM/* for all current systems, this is where NVRAM starts */#define NVRAM_FIRST_BYTE 14/* all these functions expect an NVRAM offset, not an absolute */#define NVRAM_OFFSET(x) ((x)-NVRAM_FIRST_BYTE)#ifdef __KERNEL__/* __foo is foo without grabbing the rtc_lock - get it yourself */extern unsigned char __nvram_read_byte(int i);extern unsigned char nvram_read_byte(int i);extern void __nvram_write_byte(unsigned char c, int i);extern void nvram_write_byte(unsigned char c, int i);extern int __nvram_check_checksum(void);extern int nvram_check_checksum(void);extern void __nvram_set_checksum(void);extern void nvram_set_checksum(void);#endif#endif /* _LINUX_NVRAM_H */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -