14e115012SGarrett Wollman /* 24e115012SGarrett Wollman * Sun RPC is a product of Sun Microsystems, Inc. and is provided for 34e115012SGarrett Wollman * unrestricted use provided that this legend is included on all tape 44e115012SGarrett Wollman * media and as a part of the software program in whole or part. Users 54e115012SGarrett Wollman * may copy or modify Sun RPC without charge, but are not authorized 64e115012SGarrett Wollman * to license or distribute it to anyone else except as part of a product or 74e115012SGarrett Wollman * program developed by the user. 84e115012SGarrett Wollman * 94e115012SGarrett Wollman * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE 104e115012SGarrett Wollman * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR 114e115012SGarrett Wollman * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE. 124e115012SGarrett Wollman * 134e115012SGarrett Wollman * Sun RPC is provided with no support and without any obligation on the 144e115012SGarrett Wollman * part of Sun Microsystems, Inc. to assist in its use, correction, 154e115012SGarrett Wollman * modification or enhancement. 164e115012SGarrett Wollman * 174e115012SGarrett Wollman * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE 184e115012SGarrett Wollman * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC 194e115012SGarrett Wollman * OR ANY PART THEREOF. 204e115012SGarrett Wollman * 214e115012SGarrett Wollman * In no event will Sun Microsystems, Inc. be liable for any lost revenue 224e115012SGarrett Wollman * or profits or other special, indirect and consequential damages, even if 234e115012SGarrett Wollman * Sun has been advised of the possibility of such damages. 244e115012SGarrett Wollman * 254e115012SGarrett Wollman * Sun Microsystems, Inc. 264e115012SGarrett Wollman * 2550 Garcia Avenue 274e115012SGarrett Wollman * Mountain View, California 94043 284e115012SGarrett Wollman * 294e115012SGarrett Wollman * from: @(#)rpc_util.h 1.6 87/06/24 (C) 1987 SMI 304e115012SGarrett Wollman * from: @(#)rpc_util.h 2.1 88/08/01 4.0 RPCSRC 314e115012SGarrett Wollman * $Id: rpc_util.h,v 1.1 1993/09/13 23:20:21 jtc Exp $ 324e115012SGarrett Wollman */ 334e115012SGarrett Wollman 344e115012SGarrett Wollman /* 354e115012SGarrett Wollman * rpc_util.h, Useful definitions for the RPC protocol compiler 364e115012SGarrett Wollman * Copyright (C) 1987, Sun Microsystems, Inc. 374e115012SGarrett Wollman */ 384e115012SGarrett Wollman extern char *malloc(); 394e115012SGarrett Wollman 404e115012SGarrett Wollman #define alloc(size) malloc((unsigned)(size)) 414e115012SGarrett Wollman #define ALLOC(object) (object *) malloc(sizeof(object)) 424e115012SGarrett Wollman 434e115012SGarrett Wollman #define s_print (void) sprintf 444e115012SGarrett Wollman #define f_print (void) fprintf 454e115012SGarrett Wollman 464e115012SGarrett Wollman struct list { 474e115012SGarrett Wollman char *val; 484e115012SGarrett Wollman struct list *next; 494e115012SGarrett Wollman }; 504e115012SGarrett Wollman typedef struct list list; 514e115012SGarrett Wollman 524e115012SGarrett Wollman /* 534e115012SGarrett Wollman * Global variables 544e115012SGarrett Wollman */ 554e115012SGarrett Wollman #define MAXLINESIZE 1024 564e115012SGarrett Wollman extern char curline[MAXLINESIZE]; 574e115012SGarrett Wollman extern char *where; 584e115012SGarrett Wollman extern int linenum; 594e115012SGarrett Wollman 604e115012SGarrett Wollman extern char *infilename; 614e115012SGarrett Wollman extern FILE *fout; 624e115012SGarrett Wollman extern FILE *fin; 634e115012SGarrett Wollman 644e115012SGarrett Wollman extern list *defined; 654e115012SGarrett Wollman 664e115012SGarrett Wollman /* 674e115012SGarrett Wollman * rpc_util routines 684e115012SGarrett Wollman */ 694e115012SGarrett Wollman void storeval(); 704e115012SGarrett Wollman 714e115012SGarrett Wollman #define STOREVAL(list,item) \ 724e115012SGarrett Wollman storeval(list,(char *)item) 734e115012SGarrett Wollman 744e115012SGarrett Wollman char *findval(); 754e115012SGarrett Wollman 764e115012SGarrett Wollman #define FINDVAL(list,item,finder) \ 774e115012SGarrett Wollman findval(list, (char *) item, finder) 784e115012SGarrett Wollman 794e115012SGarrett Wollman char *fixtype(); 804e115012SGarrett Wollman char *stringfix(); 814e115012SGarrett Wollman void pvname(); 824e115012SGarrett Wollman void ptype(); 834e115012SGarrett Wollman int isvectordef(); 844e115012SGarrett Wollman int streq(); 854e115012SGarrett Wollman void error(); 864e115012SGarrett Wollman void expected1(); 874e115012SGarrett Wollman void expected2(); 884e115012SGarrett Wollman void expected3(); 894e115012SGarrett Wollman void tabify(); 904e115012SGarrett Wollman void record_open(); 914e115012SGarrett Wollman 924e115012SGarrett Wollman /* 934e115012SGarrett Wollman * rpc_cout routines 944e115012SGarrett Wollman */ 954e115012SGarrett Wollman void cprint(); 964e115012SGarrett Wollman void emit(); 974e115012SGarrett Wollman 984e115012SGarrett Wollman /* 994e115012SGarrett Wollman * rpc_hout routines 1004e115012SGarrett Wollman */ 1014e115012SGarrett Wollman void print_datadef(); 1024e115012SGarrett Wollman 1034e115012SGarrett Wollman /* 1044e115012SGarrett Wollman * rpc_svcout routines 1054e115012SGarrett Wollman */ 1064e115012SGarrett Wollman void write_most(); 1074e115012SGarrett Wollman void write_register(); 1084e115012SGarrett Wollman void write_rest(); 1094e115012SGarrett Wollman 1104e115012SGarrett Wollman /* 1114e115012SGarrett Wollman * rpc_clntout routines 1124e115012SGarrett Wollman */ 1134e115012SGarrett Wollman void write_stubs(); 114