| #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 */ | 
 |  | 
 | /* 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); | 
 | #endif | 
 |  | 
 | #endif  /* _LINUX_NVRAM_H */ |