PageRenderTime 48ms CodeModel.GetById 42ms app.highlight 4ms RepoModel.GetById 1ms app.codeStats 0ms

/contrib/ntp/include/hopf6039.h

https://bitbucket.org/freebsd/freebsd-head/
C++ Header | 144 lines | 99 code | 29 blank | 16 comment | 0 complexity | d297e5200458ea606c13cd7f41c84a33 MD5 | raw file
  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
 18typedef unsigned long       DWORD;
 19typedef unsigned char       BYTE;
 20typedef 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
 57typedef 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
 80typedef struct GPSPos {  /* Position */
 81	long wAltitude;   
 82	long wLongitude;   
 83	long wLatitude;    
 84} GPSPos;
 85
 86/* clock hardware version */
 87
 88typedef 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
 95typedef 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
109typedef struct DcfAntenne {    
110	BYTE bStatus;    
111	BYTE bStatus1;    
112	WORD wAntValue;    
113} DcfAntenne;
114
115/* hopf PCI clock */
116
117typedef 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
132typedef 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_ */