rpc_scan.h revision 100441
1198092Srdivacky/* 2198092Srdivacky * $FreeBSD: head/usr.bin/rpcgen/rpc_scan.h 100441 2002-07-21 12:55:04Z charnier $ 3198092Srdivacky */ 4198092Srdivacky/* 5198092Srdivacky * Sun RPC is a product of Sun Microsystems, Inc. and is provided for 6198092Srdivacky * unrestricted use provided that this legend is included on all tape 7198092Srdivacky * media and as a part of the software program in whole or part. Users 8198092Srdivacky * may copy or modify Sun RPC without charge, but are not authorized 9198092Srdivacky * to license or distribute it to anyone else except as part of a product or 10198092Srdivacky * program developed by the user. 11198092Srdivacky * 12198092Srdivacky * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE 13198092Srdivacky * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR 14212904Sdim * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE. 15198092Srdivacky * 16198092Srdivacky * Sun RPC is provided with no support and without any obligation on the 17198092Srdivacky * part of Sun Microsystems, Inc. to assist in its use, correction, 18206084Srdivacky * modification or enhancement. 19206084Srdivacky * 20203955Srdivacky * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE 21203955Srdivacky * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC 22198092Srdivacky * OR ANY PART THEREOF. 23198092Srdivacky * 24198092Srdivacky * In no event will Sun Microsystems, Inc. be liable for any lost revenue 25198092Srdivacky * or profits or other special, indirect and consequential damages, even if 26198092Srdivacky * Sun has been advised of the possibility of such damages. 27198092Srdivacky * 28198092Srdivacky * Sun Microsystems, Inc. 29198092Srdivacky * 2550 Garcia Avenue 30198092Srdivacky * Mountain View, California 94043 31198092Srdivacky */ 32198092Srdivacky/* #pragma ident "@(#)rpc_scan.h 1.11 94/05/15 SMI" */ 33198092Srdivacky 34198092Srdivacky/* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 35198092Srdivacky/* All Rights Reserved */ 36198092Srdivacky 37198092Srdivacky/* THIS IS UNPUBLISHED PROPRIETARY SOURCE CODE OF AT&T */ 38198092Srdivacky/* The copyright notice above does not evidence any */ 39198092Srdivacky/* actual or intended publication of such source code. */ 40198092Srdivacky 41198092Srdivacky 42200583Srdivacky 43200583Srdivacky/*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 44200583Srdivacky* PROPRIETARY NOTICE (Combined) 45200583Srdivacky* 46200583Srdivacky* This source code is unpublished proprietary information 47200583Srdivacky* constituting, or derived under license from AT&T's UNIX(r) System V. 48200583Srdivacky* In addition, portions of such source code were derived from Berkeley 49200583Srdivacky* 4.3 BSD under license from the Regents of the University of 50198092Srdivacky* California. 51198092Srdivacky* 52198092Srdivacky* 53198092Srdivacky* 54198092Srdivacky* Copyright Notice 55198092Srdivacky* 56198092Srdivacky* Notice of copyright on this source code product does not indicate 57198092Srdivacky* publication. 58198092Srdivacky* 59198092Srdivacky* (c) 1986,1987,1988.1989 Sun Microsystems, Inc 60198092Srdivacky* (c) 1983,1984,1985,1986,1987,1988,1989 AT&T. 61198092Srdivacky* All rights reserved. 62198092Srdivacky*/ 63198092Srdivacky 64198092Srdivacky/* @(#)rpc_scan.h 1.3 90/08/29 (C) 1987 SMI */ 65198092Srdivacky 66198092Srdivacky/* 67198092Srdivacky * rpc_scan.h, Definitions for the RPCL scanner 68198092Srdivacky */ 69200583Srdivacky 70200583Srdivacky/* 71200583Srdivacky * kinds of tokens 72200583Srdivacky */ 73198092Srdivackyenum tok_kind { 74200583Srdivacky TOK_IDENT, 75198092Srdivacky TOK_CHARCONST, 76198092Srdivacky TOK_STRCONST, 77198092Srdivacky TOK_LPAREN, 78198092Srdivacky TOK_RPAREN, 79198092Srdivacky TOK_LBRACE, 80198092Srdivacky TOK_RBRACE, 81198092Srdivacky TOK_LBRACKET, 82198092Srdivacky TOK_RBRACKET, 83198092Srdivacky TOK_LANGLE, 84198092Srdivacky TOK_RANGLE, 85198092Srdivacky TOK_STAR, 86198092Srdivacky TOK_COMMA, 87198092Srdivacky TOK_EQUAL, 88198092Srdivacky TOK_COLON, 89198092Srdivacky TOK_SEMICOLON, 90198092Srdivacky TOK_CONST, 91198092Srdivacky TOK_STRUCT, 92198092Srdivacky TOK_UNION, 93198092Srdivacky TOK_SWITCH, 94198092Srdivacky TOK_CASE, 95198092Srdivacky TOK_DEFAULT, 96198092Srdivacky TOK_ENUM, 97198092Srdivacky TOK_TYPEDEF, 98203955Srdivacky TOK_INT, 99206084Srdivacky TOK_SHORT, 100203955Srdivacky TOK_LONG, 101206084Srdivacky TOK_HYPER, 102206084Srdivacky TOK_UNSIGNED, 103203955Srdivacky TOK_FLOAT, 104203955Srdivacky TOK_DOUBLE, 105203955Srdivacky TOK_QUAD, 106203955Srdivacky TOK_OPAQUE, 107206084Srdivacky TOK_CHAR, 108203955Srdivacky TOK_STRING, 109203955Srdivacky TOK_BOOL, 110203955Srdivacky TOK_VOID, 111203955Srdivacky TOK_PROGRAM, 112203955Srdivacky TOK_VERSION, 113206084Srdivacky TOK_EOF 114203955Srdivacky}; 115203955Srdivackytypedef enum tok_kind tok_kind; 116218893Sdim 117218893Sdim/* 118218893Sdim * a token 119203955Srdivacky */ 120203955Srdivackystruct token { 121203955Srdivacky tok_kind kind; 122203955Srdivacky char *str; 123203955Srdivacky}; 124203955Srdivackytypedef struct token token; 125203955Srdivacky 126203955Srdivacky 127218893Sdim/* 128206084Srdivacky * routine interface 129206084Srdivacky */ 130203955Srdivackyvoid scan(); 131218893Sdimvoid scan2(); 132218893Sdimvoid scan3(); 133218893Sdimvoid scan_num(); 134218893Sdimvoid peek(); 135203955Srdivackyint peekscan(); 136203955Srdivackyvoid get_token(); 137203955Srdivacky