blob: 9189829c131c3051a0b3087b1d1596dcfa292954 [file] [log] [blame]
Linus Torvalds1da177e2005-04-16 15:20:36 -07001#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 */
17extern unsigned char __nvram_read_byte(int i);
18extern unsigned char nvram_read_byte(int i);
19extern void __nvram_write_byte(unsigned char c, int i);
20extern void nvram_write_byte(unsigned char c, int i);
21extern int __nvram_check_checksum(void);
22extern int nvram_check_checksum(void);
Linus Torvalds1da177e2005-04-16 15:20:36 -070023#endif
24
25#endif /* _LINUX_NVRAM_H */