File indexing completed on 2025-01-18 10:12:37
0001
0002
0003
0004
0005
0006 #ifndef _REX_H_RPCGEN
0007 #define _REX_H_RPCGEN
0008
0009 #include <rpc/rpc.h>
0010
0011
0012 #ifdef __cplusplus
0013 extern "C" {
0014 #endif
0015
0016 #define STRINGSIZE 1024
0017
0018 typedef char *rexstring;
0019 #define SIGINT 2
0020 #define REX_INTERACTIVE 1
0021
0022 struct rex_start {
0023 struct {
0024 u_int rst_cmd_len;
0025 rexstring *rst_cmd_val;
0026 } rst_cmd;
0027 rexstring rst_host;
0028 rexstring rst_fsname;
0029 rexstring rst_dirwithin;
0030 struct {
0031 u_int rst_env_len;
0032 rexstring *rst_env_val;
0033 } rst_env;
0034 u_int rst_port0;
0035 u_int rst_port1;
0036 u_int rst_port2;
0037 u_int rst_flags;
0038 };
0039 typedef struct rex_start rex_start;
0040
0041 struct rex_result {
0042 int rlt_stat;
0043 rexstring rlt_message;
0044 };
0045 typedef struct rex_result rex_result;
0046
0047 struct sgttyb {
0048 u_int four;
0049 char chars[4];
0050 u_int flags;
0051 };
0052 typedef struct sgttyb sgttyb;
0053 #define B0 0
0054 #define B50 1
0055 #define B75 2
0056 #define B110 3
0057 #define B134 4
0058 #define B150 5
0059 #define B200 6
0060 #define B300 7
0061 #define B600 8
0062 #define B1200 9
0063 #define B1800 10
0064 #define B2400 11
0065 #define B4800 12
0066 #define B9600 13
0067 #define B19200 14
0068 #define B38400 15
0069 #define TANDEM 0x00000001
0070 #define CBREAK 0x00000002
0071 #define LCASE 0x00000004
0072 #define ECHO 0x00000008
0073 #define CRMOD 0x00000010
0074 #define RAW 0x00000020
0075 #define ODDP 0x00000040
0076 #define EVENP 0x00000080
0077 #define ANYP 0x000000c0
0078 #define NLDELAY 0x00000300
0079 #define NL0 0x00000000
0080 #define NL1 0x00000100
0081 #define NL2 0x00000200
0082 #define NL3 0x00000300
0083 #define TBDELAY 0x00000c00
0084 #define TAB0 0x00000000
0085 #define TAB1 0x00000400
0086 #define TAB2 0x00000800
0087 #define XTABS 0x00000c00
0088 #define CRDELAY 0x00003000
0089 #define CR0 0x00000000
0090 #define CR1 0x00001000
0091 #define CR2 0x00002000
0092 #define CR3 0x00003000
0093 #define VTDELAY 0x00004000
0094 #define FF0 0x00000000
0095 #define FF1 0x00004000
0096 #define BSDELAY 0x00008000
0097 #define BS0 0x00000000
0098 #define BS1 0x00008000
0099 #define CRTBS 0x00010000
0100 #define PRTERA 0x00020000
0101 #define CRTERA 0x00040000
0102 #define TILDE 0x00080000
0103 #define MDMBUF 0x00100000
0104 #define LITOUT 0x00200000
0105 #define TOSTOP 0x00400000
0106 #define FLUSHO 0x00800000
0107 #define NOHANG 0x01000000
0108 #define L001000 0x02000000
0109 #define CRTKIL 0x04000000
0110 #define PASS8 0x08000000
0111 #define CTLECH 0x10000000
0112 #define PENDIN 0x20000000
0113 #define DECCTQ 0x40000000
0114 #define NOFLSH 0x80000000
0115
0116 struct tchars {
0117 u_int six;
0118 char chars[6];
0119 };
0120 typedef struct tchars tchars;
0121
0122 struct ltchars {
0123 u_int six;
0124 char chars[6];
0125 u_int mode;
0126 };
0127 typedef struct ltchars ltchars;
0128
0129 struct rex_ttysize {
0130 int ts_lines;
0131 int ts_cols;
0132 };
0133 typedef struct rex_ttysize rex_ttysize;
0134
0135 struct rex_ttymode {
0136 sgttyb basic;
0137 tchars more;
0138 ltchars yetmore;
0139 u_int andmore;
0140 };
0141 typedef struct rex_ttymode rex_ttymode;
0142 #define LCRTBS 0x0001
0143 #define LPRTERA 0x0002
0144 #define LCRTERA 0x0004
0145 #define LTILDE 0x0008
0146 #define LMDMBUF 0x0010
0147 #define LLITOUT 0x0020
0148 #define LTOSTOP 0x0040
0149 #define LFLUSHO 0x0080
0150 #define LNOHANG 0x0100
0151 #define LL001000 0x0200
0152 #define LCRTKIL 0x0400
0153 #define LPASS8 0x0800
0154 #define LCTLECH 0x1000
0155 #define LPENDIN 0x2000
0156 #define LDECCTQ 0x4000
0157 #define LNOFLSH 0x8000
0158
0159 #define REXPROG 100017
0160 #define REXVERS 1
0161
0162 #if defined(__STDC__) || defined(__cplusplus)
0163 #define REXPROC_START 1
0164 extern rex_result * rexproc_start_1(rex_start *, CLIENT *);
0165 extern rex_result * rexproc_start_1_svc(rex_start *, struct svc_req *);
0166 #define REXPROC_WAIT 2
0167 extern rex_result * rexproc_wait_1(void *, CLIENT *);
0168 extern rex_result * rexproc_wait_1_svc(void *, struct svc_req *);
0169 #define REXPROC_MODES 3
0170 extern void * rexproc_modes_1(rex_ttymode *, CLIENT *);
0171 extern void * rexproc_modes_1_svc(rex_ttymode *, struct svc_req *);
0172 #define REXPROC_WINCH 4
0173 extern void * rexproc_winch_1(rex_ttysize *, CLIENT *);
0174 extern void * rexproc_winch_1_svc(rex_ttysize *, struct svc_req *);
0175 #define REXPROC_SIGNAL 5
0176 extern void * rexproc_signal_1(int *, CLIENT *);
0177 extern void * rexproc_signal_1_svc(int *, struct svc_req *);
0178 extern int rexprog_1_freeresult (SVCXPRT *, xdrproc_t, caddr_t);
0179
0180 #else
0181 #define REXPROC_START 1
0182 extern rex_result * rexproc_start_1();
0183 extern rex_result * rexproc_start_1_svc();
0184 #define REXPROC_WAIT 2
0185 extern rex_result * rexproc_wait_1();
0186 extern rex_result * rexproc_wait_1_svc();
0187 #define REXPROC_MODES 3
0188 extern void * rexproc_modes_1();
0189 extern void * rexproc_modes_1_svc();
0190 #define REXPROC_WINCH 4
0191 extern void * rexproc_winch_1();
0192 extern void * rexproc_winch_1_svc();
0193 #define REXPROC_SIGNAL 5
0194 extern void * rexproc_signal_1();
0195 extern void * rexproc_signal_1_svc();
0196 extern int rexprog_1_freeresult ();
0197 #endif
0198
0199
0200
0201 #if defined(__STDC__) || defined(__cplusplus)
0202 extern bool_t xdr_rexstring (XDR *, rexstring*);
0203 extern bool_t xdr_rex_start (XDR *, rex_start*);
0204 extern bool_t xdr_rex_result (XDR *, rex_result*);
0205 extern bool_t xdr_sgttyb (XDR *, sgttyb*);
0206 extern bool_t xdr_tchars (XDR *, tchars*);
0207 extern bool_t xdr_ltchars (XDR *, ltchars*);
0208 extern bool_t xdr_rex_ttysize (XDR *, rex_ttysize*);
0209 extern bool_t xdr_rex_ttymode (XDR *, rex_ttymode*);
0210
0211 #else
0212 extern bool_t xdr_rexstring ();
0213 extern bool_t xdr_rex_start ();
0214 extern bool_t xdr_rex_result ();
0215 extern bool_t xdr_sgttyb ();
0216 extern bool_t xdr_tchars ();
0217 extern bool_t xdr_ltchars ();
0218 extern bool_t xdr_rex_ttysize ();
0219 extern bool_t xdr_rex_ttymode ();
0220
0221 #endif
0222
0223 #ifdef __cplusplus
0224 }
0225 #endif
0226
0227 #endif