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