[BACK]Return to rpc_util.h CVS log [TXT][DIR] Up to [local] / src / usr.bin / rpcgen

Annotation of src/usr.bin/rpcgen/rpc_util.h, Revision 1.3

1.3     ! deraadt     1: /*     $OpenBSD: rpc_util.h,v 1.2 1996/06/26 05:38:42 deraadt Exp $    */
1.1       deraadt     2: /*     $NetBSD: rpc_util.h,v 1.3 1995/06/11 21:50:10 pk Exp $  */
                      3: /*
                      4:  * Sun RPC is a product of Sun Microsystems, Inc. and is provided for
                      5:  * unrestricted use provided that this legend is included on all tape
                      6:  * media and as a part of the software program in whole or part.  Users
                      7:  * may copy or modify Sun RPC without charge, but are not authorized
                      8:  * to license or distribute it to anyone else except as part of a product or
                      9:  * program developed by the user or with the express written consent of
                     10:  * Sun Microsystems, Inc.
                     11:  *
                     12:  * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE
                     13:  * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR
                     14:  * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE.
                     15:  *
                     16:  * Sun RPC is provided with no support and without any obligation on the
                     17:  * part of Sun Microsystems, Inc. to assist in its use, correction,
                     18:  * modification or enhancement.
                     19:  *
                     20:  * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE
                     21:  * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC
                     22:  * OR ANY PART THEREOF.
                     23:  *
                     24:  * In no event will Sun Microsystems, Inc. be liable for any lost revenue
                     25:  * or profits or other special, indirect and consequential damages, even if
                     26:  * Sun has been advised of the possibility of such damages.
                     27:  *
                     28:  * Sun Microsystems, Inc.
                     29:  * 2550 Garcia Avenue
                     30:  * Mountain View, California  94043
                     31:  */
                     32:
                     33: /*      @(#)rpc_util.h  1.5  90/08/29  (C) 1987 SMI   */
                     34:
                     35: /*
                     36:  * rpc_util.h, Useful definitions for the RPC protocol compiler
                     37:  */
                     38:
                     39: #define alloc(size)            (void *)malloc((unsigned)(size))
                     40: #define ALLOC(object)   (object *) malloc(sizeof(object))
                     41:
                     42: #define s_print        (void) sprintf
                     43: #define f_print (void) fprintf
                     44:
                     45: struct list {
                     46:        definition *val;
                     47:        struct list *next;
                     48: };
                     49: typedef struct list list;
                     50:
                     51: #define PUT 1
                     52: #define GET 2
                     53:
                     54: /*
                     55:  * Global variables
                     56:  */
                     57: #define MAXLINESIZE 1024
                     58: extern char curline[MAXLINESIZE];
                     59: extern char *where;
                     60: extern int linenum;
                     61:
                     62: extern char *infilename;
                     63: extern FILE *fout;
                     64: extern FILE *fin;
                     65:
                     66: extern list *defined;
                     67:
                     68:
                     69: extern bas_type *typ_list_h;
                     70: extern bas_type *typ_list_t;
                     71:
                     72: /*
                     73:  * All the option flags
                     74:  */
                     75: extern int inetdflag;
                     76: extern int pmflag;
                     77: extern int tblflag;
                     78: extern int logflag;
                     79: extern int newstyle;
                     80: extern int Cflag;     /* C++ flag */
                     81: extern int tirpcflag; /* flag for generating tirpc code */
1.3     ! deraadt    82: extern int doinline; /* if this is 0, then do not generate inline code */
1.1       deraadt    83: extern int callerflag;
                     84:
                     85: /*
                     86:  * Other flags related with inetd jumpstart.
                     87:  */
                     88: extern int indefinitewait;
                     89: extern int exitnow;
                     90: extern int timerflag;
                     91:
                     92: extern int nonfatalerrors;
                     93:
                     94: /*
                     95:  * rpc_util routines
                     96:  */
                     97: void storeval();
                     98:
                     99: #define STOREVAL(list,item)    \
                    100:        storeval(list,item)
                    101:
                    102: definition *findval();
                    103:
                    104: #define FINDVAL(list,item,finder) \
                    105:        findval(list, item, finder)
                    106:
                    107: char *fixtype __P((char *));
                    108: char *stringfix __P((char *));
                    109: char *locase __P((char *));
                    110: void pvname_svc __P((char *, char *));
                    111: void pvname __P((char *, char *));
                    112: void ptype __P((char *, char *, int));
                    113: int isvectordef __P((char *, relation));
                    114: int streq __P((char *, char *));
                    115: void error __P((char *));
                    116: void tabify __P((FILE *, int));
                    117: void record_open __P((char *));
                    118: bas_type *find_type __P((char *));
                    119: char *make_argname __P((char *, char *));
                    120: /*
                    121:  * rpc_cout routines
                    122:  */
                    123: void emit __P((definition *));
                    124:
                    125: /*
                    126:  * rpc_hout routines
                    127:  */
                    128: void print_datadef __P((definition *));
                    129: void print_funcdef __P((definition *));
                    130:
                    131: /*
                    132:  * rpc_svcout routines
                    133:  */
                    134: void write_most __P((char *, int, int));
                    135: void write_rest __P((void));
                    136: void write_programs __P((char *));
                    137: void write_svc_aux __P((int));
                    138: void write_inetd_register __P((char *));
                    139: void write_netid_register __P((char *));
                    140: void write_nettype_register __P((char *));
                    141: /*
                    142:  * rpc_clntout routines
                    143:  */
                    144: void write_stubs __P((void));
                    145: void printarglist __P((proc_list *, char *, char *));
                    146:
                    147:
                    148: /*
                    149:  * rpc_tblout routines
                    150:  */
                    151: void write_tables __P((void));
                    152:
                    153: /*
                    154:  * rpc_sample routines
                    155:  */
                    156: void write_sample_svc __P((definition *));
                    157: int write_sample_clnt __P((definition *));
                    158: void write_sample_clnt_main __P((void));