Annotation of embedaddon/ntp/kernel/sys/parsestreams.h, revision 1.1.1.1

1.1       misho       1: /*
                      2:  * /src/NTP/ntp4-dev/kernel/sys/parsestreams.h,v 4.5 2005/06/25 10:52:47 kardel RELEASE_20050625_A
                      3:  *
                      4:  * parsestreams.h,v 4.5 2005/06/25 10:52:47 kardel RELEASE_20050625_A
                      5:  *
                      6:  * Copyright (c) 1995-2005 by Frank Kardel <kardel <AT> ntp.org>
                      7:  * Copyright (c) 1989-1994 by Frank Kardel, Friedrich-Alexander Universität Erlangen-Nürnberg, Germany
                      8:  *
                      9:  * Redistribution and use in source and binary forms, with or without
                     10:  * modification, are permitted provided that the following conditions
                     11:  * are met:
                     12:  * 1. Redistributions of source code must retain the above copyright
                     13:  *    notice, this list of conditions and the following disclaimer.
                     14:  * 2. Redistributions in binary form must reproduce the above copyright
                     15:  *    notice, this list of conditions and the following disclaimer in the
                     16:  *    documentation and/or other materials provided with the distribution.
                     17:  * 3. Neither the name of the author nor the names of its contributors
                     18:  *    may be used to endorse or promote products derived from this software
                     19:  *    without specific prior written permission.
                     20:  *
                     21:  * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
                     22:  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
                     23:  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
                     24:  * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
                     25:  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
                     26:  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
                     27:  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
                     28:  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
                     29:  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
                     30:  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
                     31:  * SUCH DAMAGE.
                     32:  */
                     33: 
                     34: #if    !(defined(lint) || defined(__GNUC__))
                     35:   static char sysparsehrcsid[] = "parsestreams.h,v 4.5 2005/06/25 10:52:47 kardel RELEASE_20050625_A";
                     36: #endif
                     37: 
                     38: #undef PARSEKERNEL
                     39: #if defined(KERNEL) || defined(_KERNEL)
                     40: #ifndef PARSESTREAM
                     41: #define PARSESTREAM
                     42: #endif
                     43: #endif
                     44: #if defined(PARSESTREAM) && defined(HAVE_SYS_STREAM_H)
                     45: #define PARSEKERNEL
                     46: 
                     47: #ifdef HAVE_SYS_TERMIOS_H
                     48: #include <sys/termios.h>
                     49: #endif
                     50: 
                     51: #include <sys/ppsclock.h>
                     52: 
                     53: #ifndef NTP_NEED_BOPS
                     54: #define NTP_NEED_BOPS
                     55: #endif
                     56: 
                     57: #if defined(PARSESTREAM) && (defined(_sun) || defined(__sun)) && defined(HAVE_SYS_STREAM_H)
                     58: /*
                     59:  * Sorry, but in SunOS 4.x AND Solaris 2.x kernels there are no
                     60:  * mem* operations. I don't want them - bcopy, bzero
                     61:  * are fine in the kernel
                     62:  */
                     63: #undef HAVE_STRING_H   /* don't include that at kernel level - prototype mismatch in Solaris 2.6 */
                     64: #include "ntp_string.h"
                     65: #else
                     66: #include <stdio.h>
                     67: #endif
                     68: 
                     69: struct parsestream             /* parse module local data */
                     70: {
                     71:   queue_t       *parse_queue;  /* read stream for this channel */
                     72:   queue_t      *parse_dqueue;  /* driver queue entry (PPS support) */
                     73:   unsigned long  parse_status;  /* operation flags */
                     74:   void          *parse_data;   /* local data space (PPS support) */
                     75:   parse_t       parse_io;      /* io structure */
                     76:   struct ppsclockev parse_ppsclockev; /* copy of last pps event */
                     77: };
                     78: 
                     79: typedef struct parsestream parsestream_t;
                     80: 
                     81: #define PARSE_ENABLE   0x0001
                     82: 
                     83: /*--------------- debugging support ---------------------------------*/
                     84: 
                     85: #define DD_OPEN    0x00000001
                     86: #define DD_CLOSE   0x00000002
                     87: #define DD_RPUT    0x00000004
                     88: #define DD_WPUT    0x00000008
                     89: #define DD_RSVC    0x00000010
                     90: #define DD_PARSE   0x00000020
                     91: #define DD_INSTALL 0x00000040
                     92: #define DD_ISR     0x00000080
                     93: #define DD_RAWDCF  0x00000100
                     94: 
                     95: extern int parsedebug;
                     96: 
                     97: #ifdef DEBUG_PARSE
                     98: 
                     99: #define parseprintf(X, Y) if ((X) & parsedebug) printf Y
                    100: 
                    101: #else
                    102: 
                    103: #define parseprintf(X, Y)
                    104: 
                    105: #endif
                    106: #endif
                    107: 
                    108: /*
                    109:  * History:
                    110:  *
                    111:  * parsestreams.h,v
                    112:  * Revision 4.5  2005/06/25 10:52:47  kardel
                    113:  * fix version id / add version log
                    114:  *
                    115:  * Revision 4.4  1998/06/14 21:09:32  kardel
                    116:  * Sun acc cleanup
                    117:  *
                    118:  * Revision 4.3  1998/06/13 18:14:32  kardel
                    119:  * make mem*() to b*() mapping magic work on Solaris too
                    120:  *
                    121:  * Revision 4.2  1998/06/13 15:16:22  kardel
                    122:  * fix mem*() to b*() function macro emulation
                    123:  *
                    124:  * Revision 4.1  1998/06/13 11:50:37  kardel
                    125:  * STREAM macro gone in favor of HAVE_SYS_STREAM_H
                    126:  *
                    127:  * Revision 4.0  1998/04/10 19:51:30  kardel
                    128:  * Start 4.0 release version numbering
                    129:  *
                    130:  * Revision 1.2  1998/04/10 19:27:42  kardel
                    131:  * initial NTP VERSION 4 integration of PARSE with GPS166 binary support
                    132:  *
                    133:  */

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>