Home | History | Annotate | Line # | Download | only in rpcgen
rpc_util.h revision 1.1
      1  1.1  glass /* @(#)rpc_util.h	2.1 88/08/01 4.0 RPCSRC */
      2  1.1  glass /*
      3  1.1  glass  * Sun RPC is a product of Sun Microsystems, Inc. and is provided for
      4  1.1  glass  * unrestricted use provided that this legend is included on all tape
      5  1.1  glass  * media and as a part of the software program in whole or part.  Users
      6  1.1  glass  * may copy or modify Sun RPC without charge, but are not authorized
      7  1.1  glass  * to license or distribute it to anyone else except as part of a product or
      8  1.1  glass  * program developed by the user.
      9  1.1  glass  *
     10  1.1  glass  * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE
     11  1.1  glass  * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR
     12  1.1  glass  * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE.
     13  1.1  glass  *
     14  1.1  glass  * Sun RPC is provided with no support and without any obligation on the
     15  1.1  glass  * part of Sun Microsystems, Inc. to assist in its use, correction,
     16  1.1  glass  * modification or enhancement.
     17  1.1  glass  *
     18  1.1  glass  * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE
     19  1.1  glass  * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC
     20  1.1  glass  * OR ANY PART THEREOF.
     21  1.1  glass  *
     22  1.1  glass  * In no event will Sun Microsystems, Inc. be liable for any lost revenue
     23  1.1  glass  * or profits or other special, indirect and consequential damages, even if
     24  1.1  glass  * Sun has been advised of the possibility of such damages.
     25  1.1  glass  *
     26  1.1  glass  * Sun Microsystems, Inc.
     27  1.1  glass  * 2550 Garcia Avenue
     28  1.1  glass  * Mountain View, California  94043
     29  1.1  glass  */
     30  1.1  glass /* @(#)rpc_util.h 1.6 87/06/24 (C) 1987 SMI */
     31  1.1  glass 
     32  1.1  glass /*
     33  1.1  glass  * rpc_util.h, Useful definitions for the RPC protocol compiler
     34  1.1  glass  * Copyright (C) 1987, Sun Microsystems, Inc.
     35  1.1  glass  */
     36  1.1  glass extern char *malloc();
     37  1.1  glass 
     38  1.1  glass #define alloc(size)		malloc((unsigned)(size))
     39  1.1  glass #define ALLOC(object)   (object *) malloc(sizeof(object))
     40  1.1  glass 
     41  1.1  glass #define s_print	(void) sprintf
     42  1.1  glass #define f_print (void) fprintf
     43  1.1  glass 
     44  1.1  glass struct list {
     45  1.1  glass 	char *val;
     46  1.1  glass 	struct list *next;
     47  1.1  glass };
     48  1.1  glass typedef struct list list;
     49  1.1  glass 
     50  1.1  glass /*
     51  1.1  glass  * Global variables
     52  1.1  glass  */
     53  1.1  glass #define MAXLINESIZE 1024
     54  1.1  glass extern char curline[MAXLINESIZE];
     55  1.1  glass extern char *where;
     56  1.1  glass extern int linenum;
     57  1.1  glass 
     58  1.1  glass extern char *infilename;
     59  1.1  glass extern FILE *fout;
     60  1.1  glass extern FILE *fin;
     61  1.1  glass 
     62  1.1  glass extern list *defined;
     63  1.1  glass 
     64  1.1  glass /*
     65  1.1  glass  * rpc_util routines
     66  1.1  glass  */
     67  1.1  glass void storeval();
     68  1.1  glass 
     69  1.1  glass #define STOREVAL(list,item)	\
     70  1.1  glass 	storeval(list,(char *)item)
     71  1.1  glass 
     72  1.1  glass char *findval();
     73  1.1  glass 
     74  1.1  glass #define FINDVAL(list,item,finder) \
     75  1.1  glass 	findval(list, (char *) item, finder)
     76  1.1  glass 
     77  1.1  glass char *fixtype();
     78  1.1  glass char *stringfix();
     79  1.1  glass void pvname();
     80  1.1  glass void ptype();
     81  1.1  glass int isvectordef();
     82  1.1  glass int streq();
     83  1.1  glass void error();
     84  1.1  glass void expected1();
     85  1.1  glass void expected2();
     86  1.1  glass void expected3();
     87  1.1  glass void tabify();
     88  1.1  glass void record_open();
     89  1.1  glass 
     90  1.1  glass /*
     91  1.1  glass  * rpc_cout routines
     92  1.1  glass  */
     93  1.1  glass void cprint();
     94  1.1  glass void emit();
     95  1.1  glass 
     96  1.1  glass /*
     97  1.1  glass  * rpc_hout routines
     98  1.1  glass  */
     99  1.1  glass void print_datadef();
    100  1.1  glass 
    101  1.1  glass /*
    102  1.1  glass  * rpc_svcout routines
    103  1.1  glass  */
    104  1.1  glass void write_most();
    105  1.1  glass void write_register();
    106  1.1  glass void write_rest();
    107  1.1  glass 
    108  1.1  glass /*
    109  1.1  glass  * rpc_clntout routines
    110  1.1  glass  */
    111  1.1  glass void write_stubs();
    112