Annotation of embedaddon/ntp/include/hopf6039.h, revision 1.1
1.1 ! misho 1: /****************************************************************************/
! 2: /* hopf6039.h */
! 3: /* hopf Elektronik 6039 PCI radio clock header */
! 4: /* (c) 1999, 2000 Bernd Altmeier <altmeier@ATLSoft.de> */
! 5: /* Rev. 1.00 Date 25.03.2000 */
! 6: /* History: */
! 7: /****************************************************************************/
! 8:
! 9: #ifndef _hopf6039_H_
! 10: #define _hopf6039_H_
! 11:
! 12: #define HOPF_MAXVERSION 8
! 13: #define HOPF_CNTR_MEM_LEN 0x7f
! 14: #define HOPF_DATA_MEM_LEN 0x3ff /* this is our memory size */
! 15:
! 16: /* macros and definition for 32 to 16 to 8 bit conversion */
! 17:
! 18: typedef unsigned long DWORD;
! 19: typedef unsigned char BYTE;
! 20: typedef unsigned short WORD;
! 21:
! 22: #define LOWORD(l) ((WORD)(l))
! 23: #define HIWORD(l) ((WORD)(((DWORD)(l) >> 16) & 0xFFFF))
! 24: #define LOBYTE(w) ((BYTE)(w))
! 25: #define HIBYTE(w) ((BYTE)(((WORD)(w) >> 8) & 0xFF))
! 26:
! 27: /* iocntl codes for driver access */
! 28:
! 29: #define HOPF_CLOCK_CMD_MASK 0xff000
! 30:
! 31: #define HOPF_CLOCK_GET_LOCAL 0x10000
! 32: #define HOPF_CLOCK_GET_UTC 0x20000
! 33: #define HOPF_CLOCK_GET_ANTENNA 0x30000
! 34: #define HOPF_CLOCK_GET_DIFFERENCE 0x40000
! 35: #define HOPF_CLOCK_GET_VERSION 0x50000
! 36: #define HOPF_CLOCK_GET_POSITION 0x60000
! 37: #define HOPF_CLOCK_GET_SATDATA 0x70000
! 38: #define HOPF_CLOCK_GET_SYSTEMBYTE 0x80000
! 39: #define HOPF_CLOCK_GET_IRIG 0x90000
! 40:
! 41: #define HOPF_CLOCK_SET_DIFFERENCE 0x01000
! 42: #define HOPF_CLOCK_SET_ANTENNA 0x02000
! 43: #define HOPF_CLOCK_SET_TIME 0x03000
! 44: #define HOPF_CLOCK_SET_POSITION 0x04000
! 45: #define HOPF_CLOCK_SET_SATMODE 0x05000
! 46: #define HOPF_CLOCK_SET_SYSTEMBYTE 0x06000
! 47: #define HOPF_CLOCK_SET_RESET 0x07000
! 48: #define HOPF_CLOCK_SET_IRIG 0x08000
! 49:
! 50: /* clock command codes */
! 51:
! 52: #define HOPF_CLOCK_HARDRESET 0x00008000
! 53: #define HOPF_CLOCK_SOFTRESET 0x00004000
! 54:
! 55: /* sat-information */
! 56:
! 57: typedef struct SatStat{
! 58: BYTE wVisible;
! 59: BYTE wMode;
! 60: BYTE wSat0;
! 61: BYTE wRat0;
! 62: BYTE wSat1;
! 63: BYTE wRat1;
! 64: BYTE wSat2;
! 65: BYTE wRat2;
! 66: BYTE wSat3;
! 67: BYTE wRat3;
! 68: BYTE wSat4;
! 69: BYTE wRat4;
! 70: BYTE wSat5;
! 71: BYTE wRat5;
! 72: BYTE wSat6;
! 73: BYTE wRat6;
! 74: BYTE wSat7;
! 75: BYTE wRat7;
! 76: } SatStat;
! 77:
! 78: /* GPS position */
! 79:
! 80: typedef struct GPSPos { /* Position */
! 81: long wAltitude;
! 82: long wLongitude;
! 83: long wLatitude;
! 84: } GPSPos;
! 85:
! 86: /* clock hardware version */
! 87:
! 88: typedef struct ClockVersion {
! 89: char cVersion[255]; /* Hardware Version like " DCF-RECEIVER, VERSION 01.01, DAT: 23.NOV.1999" */
! 90: char dVersion[255]; /* Driver Version */
! 91: } ClockVersion;
! 92:
! 93: /* hopftime what you think */
! 94:
! 95: typedef struct HOPFTIME {
! 96: unsigned int wYear;
! 97: unsigned int wMonth;
! 98: unsigned int wDayOfWeek;
! 99: unsigned int wDay;
! 100: unsigned int wHour;
! 101: unsigned int wMinute;
! 102: unsigned int wSecond;
! 103: unsigned int wMilliseconds;
! 104: unsigned int wStatus;
! 105: } HOPFTIME;
! 106:
! 107: /* DCF77 antenna alignment */
! 108:
! 109: typedef struct DcfAntenne {
! 110: BYTE bStatus;
! 111: BYTE bStatus1;
! 112: WORD wAntValue;
! 113: } DcfAntenne;
! 114:
! 115: /* hopf PCI clock */
! 116:
! 117: typedef struct hopfCard {
! 118: char name[32];
! 119: unsigned irq;
! 120: unsigned long membase; /* without mmap */
! 121: unsigned int port;
! 122:
! 123: int versionlen;
! 124: char versionbuf[1024];
! 125: char *version[HOPF_MAXVERSION];
! 126: char cardname[32];
! 127: int interrupt;
! 128: void *mbase; /* this will be our memory base address */
! 129:
! 130: } hopfCard;
! 131:
! 132: typedef struct cardparams {
! 133: unsigned int port;
! 134: unsigned irq;
! 135: int cardtype;
! 136: int cardnr;
! 137: unsigned int membase;
! 138: } cardparams;
! 139:
! 140:
! 141: #define WRITE_REGISTER 0x00
! 142: #define READ_REGISTER 0x01
! 143:
! 144: #endif /* _hopf6039_H_ */
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>