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>