GCC Code Coverage Report
Directory: ./ Exec Total Coverage
File: usr.sbin/amd/amd/../rpcx/nfs_prot_svc.c Lines: 0 33 0.0 %
Date: 2017-11-13 Branches: 0 27 0.0 %

Line Branch Exec Source
1
/*
2
 * Please do not edit this file.
3
 * It was generated using rpcgen.
4
 */
5
6
#include "nfs_prot.h"
7
#include "am.h"
8
#include <arpa/inet.h>
9
#include <unistd.h>
10
#include <stdio.h>
11
#include <stdlib.h>/* getenv, exit */
12
#include <rpc/pmap_clnt.h> /* for pmap_unset */
13
#include <string.h> /* strcmp */
14
#include <netdb.h>
15
#include <signal.h>
16
#include <sys/ttycom.h>/* TIOCNOTTY */
17
#ifdef __cplusplus
18
#include <sysent.h> /* getdtablesize, open */
19
#endif /* __cplusplus */
20
#include <memory.h>
21
#include <sys/socket.h>
22
#include <netinet/in.h>
23
#include <syslog.h>
24
#include <errno.h>
25
26
#ifdef __STDC__
27
#define SIG_PF void(*)(int)
28
#endif
29
30
#ifdef DEBUG
31
#define RPC_SVC_FG
32
#endif
33
34
#define _RPCSVC_CLOSEDOWN 120
35
extern int _rpcpmstart;		/* Started by a port monitor ? */
36
extern int _rpcfdtype;		/* Whether Stream or Datagram ? */
37
38
39
void	nfs_program_2(struct svc_req *rqstp, SVCXPRT *transp);
40
41
void
42
nfs_program_2(struct svc_req *rqstp, SVCXPRT *transp)
43
{
44
	union {
45
		nfs_fh nfsproc_getattr_2_arg;
46
		sattrargs nfsproc_setattr_2_arg;
47
		diropargs nfsproc_lookup_2_arg;
48
		nfs_fh nfsproc_readlink_2_arg;
49
		readargs nfsproc_read_2_arg;
50
		writeargs nfsproc_write_2_arg;
51
		createargs nfsproc_create_2_arg;
52
		diropargs nfsproc_remove_2_arg;
53
		renameargs nfsproc_rename_2_arg;
54
		linkargs nfsproc_link_2_arg;
55
		symlinkargs nfsproc_symlink_2_arg;
56
		createargs nfsproc_mkdir_2_arg;
57
		diropargs nfsproc_rmdir_2_arg;
58
		readdirargs nfsproc_readdir_2_arg;
59
		nfs_fh nfsproc_statfs_2_arg;
60
	} argument;
61
	char *result;
62
	xdrproc_t xdr_argument, xdr_result;
63
	char *(*local)(char *, struct svc_req *);
64
65
	switch (rqstp->rq_proc) {
66
	case NFSPROC_NULL:
67
		xdr_argument = (xdrproc_t) xdr_void;
68
		xdr_result = (xdrproc_t) xdr_void;
69
		local = (char *(*)(char *, struct svc_req *)) nfsproc_null_2_svc;
70
		break;
71
72
	case NFSPROC_GETATTR:
73
		xdr_argument = (xdrproc_t) xdr_nfs_fh;
74
		xdr_result = (xdrproc_t) xdr_attrstat;
75
		local = (char *(*)(char *, struct svc_req *)) nfsproc_getattr_2_svc;
76
		break;
77
78
	case NFSPROC_SETATTR:
79
		xdr_argument = (xdrproc_t) xdr_sattrargs;
80
		xdr_result = (xdrproc_t) xdr_attrstat;
81
		local = (char *(*)(char *, struct svc_req *)) nfsproc_setattr_2_svc;
82
		break;
83
84
	case NFSPROC_ROOT:
85
		xdr_argument = (xdrproc_t) xdr_void;
86
		xdr_result = (xdrproc_t) xdr_void;
87
		local = (char *(*)(char *, struct svc_req *)) nfsproc_root_2_svc;
88
		break;
89
90
	case NFSPROC_LOOKUP:
91
		xdr_argument = (xdrproc_t) xdr_diropargs;
92
		xdr_result = (xdrproc_t) xdr_diropres;
93
		local = (char *(*)(char *, struct svc_req *)) nfsproc_lookup_2_svc;
94
		break;
95
96
	case NFSPROC_READLINK:
97
		xdr_argument = (xdrproc_t) xdr_nfs_fh;
98
		xdr_result = (xdrproc_t) xdr_readlinkres;
99
		local = (char *(*)(char *, struct svc_req *)) nfsproc_readlink_2_svc;
100
		break;
101
102
	case NFSPROC_READ:
103
		xdr_argument = (xdrproc_t) xdr_readargs;
104
		xdr_result = (xdrproc_t) xdr_readres;
105
		local = (char *(*)(char *, struct svc_req *)) nfsproc_read_2_svc;
106
		break;
107
108
	case NFSPROC_WRITECACHE:
109
		xdr_argument = (xdrproc_t) xdr_void;
110
		xdr_result = (xdrproc_t) xdr_void;
111
		local = (char *(*)(char *, struct svc_req *)) nfsproc_writecache_2_svc;
112
		break;
113
114
	case NFSPROC_WRITE:
115
		xdr_argument = (xdrproc_t) xdr_writeargs;
116
		xdr_result = (xdrproc_t) xdr_attrstat;
117
		local = (char *(*)(char *, struct svc_req *)) nfsproc_write_2_svc;
118
		break;
119
120
	case NFSPROC_CREATE:
121
		xdr_argument = (xdrproc_t) xdr_createargs;
122
		xdr_result = (xdrproc_t) xdr_diropres;
123
		local = (char *(*)(char *, struct svc_req *)) nfsproc_create_2_svc;
124
		break;
125
126
	case NFSPROC_REMOVE:
127
		xdr_argument = (xdrproc_t) xdr_diropargs;
128
		xdr_result = (xdrproc_t) xdr_nfsstat;
129
		local = (char *(*)(char *, struct svc_req *)) nfsproc_remove_2_svc;
130
		break;
131
132
	case NFSPROC_RENAME:
133
		xdr_argument = (xdrproc_t) xdr_renameargs;
134
		xdr_result = (xdrproc_t) xdr_nfsstat;
135
		local = (char *(*)(char *, struct svc_req *)) nfsproc_rename_2_svc;
136
		break;
137
138
	case NFSPROC_LINK:
139
		xdr_argument = (xdrproc_t) xdr_linkargs;
140
		xdr_result = (xdrproc_t) xdr_nfsstat;
141
		local = (char *(*)(char *, struct svc_req *)) nfsproc_link_2_svc;
142
		break;
143
144
	case NFSPROC_SYMLINK:
145
		xdr_argument = (xdrproc_t) xdr_symlinkargs;
146
		xdr_result = (xdrproc_t) xdr_nfsstat;
147
		local = (char *(*)(char *, struct svc_req *)) nfsproc_symlink_2_svc;
148
		break;
149
150
	case NFSPROC_MKDIR:
151
		xdr_argument = (xdrproc_t) xdr_createargs;
152
		xdr_result = (xdrproc_t) xdr_diropres;
153
		local = (char *(*)(char *, struct svc_req *)) nfsproc_mkdir_2_svc;
154
		break;
155
156
	case NFSPROC_RMDIR:
157
		xdr_argument = (xdrproc_t) xdr_diropargs;
158
		xdr_result = (xdrproc_t) xdr_nfsstat;
159
		local = (char *(*)(char *, struct svc_req *)) nfsproc_rmdir_2_svc;
160
		break;
161
162
	case NFSPROC_READDIR:
163
		xdr_argument = (xdrproc_t) xdr_readdirargs;
164
		xdr_result = (xdrproc_t) xdr_readdirres;
165
		local = (char *(*)(char *, struct svc_req *)) nfsproc_readdir_2_svc;
166
		break;
167
168
	case NFSPROC_STATFS:
169
		xdr_argument = (xdrproc_t) xdr_nfs_fh;
170
		xdr_result = (xdrproc_t) xdr_statfsres;
171
		local = (char *(*)(char *, struct svc_req *)) nfsproc_statfs_2_svc;
172
		break;
173
174
	default:
175
		svcerr_noproc(transp);
176
		return;
177
	}
178
	(void) memset((char *)&argument, 0, sizeof (argument));
179
	if (!svc_getargs(transp, xdr_argument, (caddr_t) &argument)) {
180
		svcerr_decode(transp);
181
		return;
182
	}
183
	result = (*local)((char *)&argument, rqstp);
184
	if (result != NULL && !svc_sendreply(transp, xdr_result, result)) {
185
		svcerr_systemerr(transp);
186
	}
187
	if (!svc_freeargs(transp, xdr_argument, (caddr_t) &argument)) {
188
		plog(XLOG_FATAL, "unable to free rpc arguments in nfs_program");
189
		going_down(1);
190
	}
191
	return;
192
}