Return to parsestreams.h CVS log | Up to [ELWIX - Embedded LightWeight unIX -] / embedaddon / ntp / kernel / sys |
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: */