Annotation of embedaddon/ntp/kernel/sys/parsestreams.h, revision 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>