1c0b746e5SOllivier Robert struct btfp_time /* Structure for reading 5 time words */ 2c0b746e5SOllivier Robert /* in one ioctl(2) operation. */ 3c0b746e5SOllivier Robert { 4c0b746e5SOllivier Robert unsigned short btfp_time[5]; /* Time words 0,1,2,3, and 4. (16bit)*/ 5c0b746e5SOllivier Robert }; 6c0b746e5SOllivier Robert 7c0b746e5SOllivier Robert /***** Simple ioctl commands *****/ 8c0b746e5SOllivier Robert 9c0b746e5SOllivier Robert #define RUNLOCK _IO('X',19) /* Release Capture Lockout */ 10c0b746e5SOllivier Robert #define RCR0 _IOR('X',22,unsigned int) /* Read control register */ 11c0b746e5SOllivier Robert #define WCR0 _IOW('X',23,unsigned int) /* Write control register */ 12c0b746e5SOllivier Robert 13c0b746e5SOllivier Robert /***** Compound ioctl commands *****/ 14c0b746e5SOllivier Robert 15c0b746e5SOllivier Robert /* Read all 5 time words in one call. */ 16c0b746e5SOllivier Robert #define READTIME _IOR('X',32,struct btfp_time) 17c0b746e5SOllivier Robert #define VMEFD "/dev/btfp0" 18c0b746e5SOllivier Robert 19c0b746e5SOllivier Robert struct vmedate { /* structure returned by get_vmetime.c */ 20c0b746e5SOllivier Robert unsigned short year; 21c0b746e5SOllivier Robert unsigned short doy; 22c0b746e5SOllivier Robert unsigned short hr; 23c0b746e5SOllivier Robert unsigned short mn; 24c0b746e5SOllivier Robert unsigned short sec; 25c0b746e5SOllivier Robert unsigned long frac; 26c0b746e5SOllivier Robert unsigned short status; 27c0b746e5SOllivier Robert }; 28c0b746e5SOllivier Robert 29c0b746e5SOllivier Robert #define PRIO 120 /* set the realtime priority */ 30c0b746e5SOllivier Robert #define NREGS 7 /* number of registers we will use */ 31