1 #ifndef _LINUX_NVRAM_H
2 #define _LINUX_NVRAM_H
3 
4 #include <linux/ioctl.h>
5 
6 /* /dev/nvram ioctls */
7 #define NVRAM_INIT	_IO('p', 0x40) /* initialize NVRAM and set checksum */
8 #define NVRAM_SETCKS	_IO('p', 0x41) /* recalculate checksum */
9 
10 /* for all current systems, this is where NVRAM starts */
11 #define NVRAM_FIRST_BYTE    14
12 /* all these functions expect an NVRAM offset, not an absolute */
13 #define NVRAM_OFFSET(x)   ((x)-NVRAM_FIRST_BYTE)
14 
15 #ifdef __KERNEL__
16 /* __foo is foo without grabbing the rtc_lock - get it yourself */
17 extern unsigned char __nvram_read_byte(int i);
18 extern unsigned char nvram_read_byte(int i);
19 extern void __nvram_write_byte(unsigned char c, int i);
20 extern void nvram_write_byte(unsigned char c, int i);
21 extern int __nvram_check_checksum(void);
22 extern int nvram_check_checksum(void);
23 extern void __nvram_set_checksum(void);
24 extern void nvram_set_checksum(void);
25 #endif
26 
27 #endif  /* _LINUX_NVRAM_H */
28