xref: /onnv-gate/usr/src/uts/common/avs/ns/contract.h (revision 7836:4e95154b5b7a)
1*7836SJohn.Forte@Sun.COM /*
2*7836SJohn.Forte@Sun.COM  * CDDL HEADER START
3*7836SJohn.Forte@Sun.COM  *
4*7836SJohn.Forte@Sun.COM  * The contents of this file are subject to the terms of the
5*7836SJohn.Forte@Sun.COM  * Common Development and Distribution License (the "License").
6*7836SJohn.Forte@Sun.COM  * You may not use this file except in compliance with the License.
7*7836SJohn.Forte@Sun.COM  *
8*7836SJohn.Forte@Sun.COM  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9*7836SJohn.Forte@Sun.COM  * or http://www.opensolaris.org/os/licensing.
10*7836SJohn.Forte@Sun.COM  * See the License for the specific language governing permissions
11*7836SJohn.Forte@Sun.COM  * and limitations under the License.
12*7836SJohn.Forte@Sun.COM  *
13*7836SJohn.Forte@Sun.COM  * When distributing Covered Code, include this CDDL HEADER in each
14*7836SJohn.Forte@Sun.COM  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
15*7836SJohn.Forte@Sun.COM  * If applicable, add the following below this CDDL HEADER, with the
16*7836SJohn.Forte@Sun.COM  * fields enclosed by brackets "[]" replaced with your own identifying
17*7836SJohn.Forte@Sun.COM  * information: Portions Copyright [yyyy] [name of copyright owner]
18*7836SJohn.Forte@Sun.COM  *
19*7836SJohn.Forte@Sun.COM  * CDDL HEADER END
20*7836SJohn.Forte@Sun.COM  */
21*7836SJohn.Forte@Sun.COM /*
22*7836SJohn.Forte@Sun.COM  * Copyright 2008 Sun Microsystems, Inc.  All rights reserved.
23*7836SJohn.Forte@Sun.COM  * Use is subject to license terms.
24*7836SJohn.Forte@Sun.COM  */
25*7836SJohn.Forte@Sun.COM 
26*7836SJohn.Forte@Sun.COM /*
27*7836SJohn.Forte@Sun.COM  * The sole purpose of this file is to document our violations of the DDI
28*7836SJohn.Forte@Sun.COM  * in Solaris and to get ddict to run on the data services stack.
29*7836SJohn.Forte@Sun.COM  * Definitions and declarations contained in this file are never compiled
30*7836SJohn.Forte@Sun.COM  * into the code.  It is only included if we are running ddict on our src.
31*7836SJohn.Forte@Sun.COM  *
32*7836SJohn.Forte@Sun.COM  * IMPORTANT NOTE:
33*7836SJohn.Forte@Sun.COM  * Many of the declarations are not correct. It does not matter.
34*7836SJohn.Forte@Sun.COM  * Structure declarations only define the fields we require.
35*7836SJohn.Forte@Sun.COM  * Structures which we use in an opaque manner are defined as void *
36*7836SJohn.Forte@Sun.COM  */
37*7836SJohn.Forte@Sun.COM 
38*7836SJohn.Forte@Sun.COM #ifndef	_SYS_CONTRACT_H
39*7836SJohn.Forte@Sun.COM #define	_SYS_CONTRACT_H
40*7836SJohn.Forte@Sun.COM 
41*7836SJohn.Forte@Sun.COM #ifdef	__cplusplus
42*7836SJohn.Forte@Sun.COM extern "C" {
43*7836SJohn.Forte@Sun.COM #endif
44*7836SJohn.Forte@Sun.COM 
45*7836SJohn.Forte@Sun.COM /*
46*7836SJohn.Forte@Sun.COM  * Define our interfaces for nsctl because ddict is stupid
47*7836SJohn.Forte@Sun.COM  * about intermodule dependencies
48*7836SJohn.Forte@Sun.COM  */
49*7836SJohn.Forte@Sun.COM #include <sys/nsctl/nsctl_inter.h>
50*7836SJohn.Forte@Sun.COM 
51*7836SJohn.Forte@Sun.COM /*
52*7836SJohn.Forte@Sun.COM  * Define our ncall interfaces
53*7836SJohn.Forte@Sun.COM  */
54*7836SJohn.Forte@Sun.COM #include <sys/nsctl/ncall_inter.h>
55*7836SJohn.Forte@Sun.COM 
56*7836SJohn.Forte@Sun.COM /*
57*7836SJohn.Forte@Sun.COM  * The STRUCT_DECL definitions in the ddict headers are fouled up
58*7836SJohn.Forte@Sun.COM  * we include our own model.h here to redefine it to avoid errors.
59*7836SJohn.Forte@Sun.COM  */
60*7836SJohn.Forte@Sun.COM #if !defined(_SunOS_5_6)
61*7836SJohn.Forte@Sun.COM #include <sys/nsctl/model.h>
62*7836SJohn.Forte@Sun.COM #endif
63*7836SJohn.Forte@Sun.COM 
64*7836SJohn.Forte@Sun.COM /*
65*7836SJohn.Forte@Sun.COM  * General violations
66*7836SJohn.Forte@Sun.COM  * Everybody violates these
67*7836SJohn.Forte@Sun.COM  * Why are they called ddi if it is not part of it?
68*7836SJohn.Forte@Sun.COM  */
69*7836SJohn.Forte@Sun.COM 
70*7836SJohn.Forte@Sun.COM #define	DDI_PROP_NOTPROM 0
71*7836SJohn.Forte@Sun.COM 
ddi_rele_driver(void)72*7836SJohn.Forte@Sun.COM int ddi_rele_driver(void) { }
ddi_hold_installed_driver(void)73*7836SJohn.Forte@Sun.COM int ddi_hold_installed_driver(void) { }
74*7836SJohn.Forte@Sun.COM 
75*7836SJohn.Forte@Sun.COM /*
76*7836SJohn.Forte@Sun.COM  * SV module violations
77*7836SJohn.Forte@Sun.COM  */
78*7836SJohn.Forte@Sun.COM void *curthread;
79*7836SJohn.Forte@Sun.COM int devcnt;
80*7836SJohn.Forte@Sun.COM 
81*7836SJohn.Forte@Sun.COM /*
82*7836SJohn.Forte@Sun.COM  * The following from vnode.h
83*7836SJohn.Forte@Sun.COM  */
84*7836SJohn.Forte@Sun.COM typedef struct  vode {
85*7836SJohn.Forte@Sun.COM 	int v_lock;	/* SDBC uses this too */
86*7836SJohn.Forte@Sun.COM 	int v_type;	/* nskern too */
87*7836SJohn.Forte@Sun.COM 	int v_rdev;	/* nskern too */
88*7836SJohn.Forte@Sun.COM } vnode_t;
89*7836SJohn.Forte@Sun.COM 
90*7836SJohn.Forte@Sun.COM #define	FOLLOW 0
91*7836SJohn.Forte@Sun.COM #define	NULLVPP NULL
92*7836SJohn.Forte@Sun.COM #define	AT_RDEV 0
93*7836SJohn.Forte@Sun.COM #define	VOP_GETATTR(vp, vap, f, cr) ((void)0)
94*7836SJohn.Forte@Sun.COM #define	VN_RELE(vp) ((void)0)
95*7836SJohn.Forte@Sun.COM 
96*7836SJohn.Forte@Sun.COM /*
97*7836SJohn.Forte@Sun.COM  *  The fields we use from vattr_t
98*7836SJohn.Forte@Sun.COM  */
99*7836SJohn.Forte@Sun.COM typedef struct vattr {
100*7836SJohn.Forte@Sun.COM 	uint_t	va_mask;
101*7836SJohn.Forte@Sun.COM 	dev_t	va_rdev;
102*7836SJohn.Forte@Sun.COM 	int	va_size;	/* nskern */
103*7836SJohn.Forte@Sun.COM } vattr_t;
104*7836SJohn.Forte@Sun.COM 
lookupname(void,void,void,void,void)105*7836SJohn.Forte@Sun.COM int lookupname(void, void, void, void, void) { }
106*7836SJohn.Forte@Sun.COM 
107*7836SJohn.Forte@Sun.COM /*
108*7836SJohn.Forte@Sun.COM  * End of SV module violations
109*7836SJohn.Forte@Sun.COM  */
110*7836SJohn.Forte@Sun.COM 
111*7836SJohn.Forte@Sun.COM /*
112*7836SJohn.Forte@Sun.COM  * DSW/II module violations
113*7836SJohn.Forte@Sun.COM  */
114*7836SJohn.Forte@Sun.COM 
115*7836SJohn.Forte@Sun.COM /*
116*7836SJohn.Forte@Sun.COM  * This is really bogus that ddict does not understand sys/inttypes.h
117*7836SJohn.Forte@Sun.COM  */
118*7836SJohn.Forte@Sun.COM #define	INT32_MIN	0
119*7836SJohn.Forte@Sun.COM #define	INT32_MAX	0
120*7836SJohn.Forte@Sun.COM #define	INT64_MAX	0
121*7836SJohn.Forte@Sun.COM 
122*7836SJohn.Forte@Sun.COM /*
123*7836SJohn.Forte@Sun.COM  * End of DSW/II module violations
124*7836SJohn.Forte@Sun.COM  */
125*7836SJohn.Forte@Sun.COM 
126*7836SJohn.Forte@Sun.COM /*
127*7836SJohn.Forte@Sun.COM  * UNISTAT module violations
128*7836SJohn.Forte@Sun.COM  */
129*7836SJohn.Forte@Sun.COM 
130*7836SJohn.Forte@Sun.COM void mod_miscops;
131*7836SJohn.Forte@Sun.COM typedef enum { B_FALSE, B_TRUE } boolean_t;
132*7836SJohn.Forte@Sun.COM 
133*7836SJohn.Forte@Sun.COM /*
134*7836SJohn.Forte@Sun.COM  * End of UNISTAT module violations
135*7836SJohn.Forte@Sun.COM  */
136*7836SJohn.Forte@Sun.COM 
137*7836SJohn.Forte@Sun.COM /*
138*7836SJohn.Forte@Sun.COM  * NSCTL module violations
139*7836SJohn.Forte@Sun.COM  */
140*7836SJohn.Forte@Sun.COM #define	ERESTART 0
141*7836SJohn.Forte@Sun.COM #define	EUSERS 0
142*7836SJohn.Forte@Sun.COM #define	ENAMETOOLONG 0
143*7836SJohn.Forte@Sun.COM #define	ENOSYS	0
144*7836SJohn.Forte@Sun.COM #define	FOPEN	0
ddi_name_to_major()145*7836SJohn.Forte@Sun.COM int ddi_name_to_major() { }
146*7836SJohn.Forte@Sun.COM /*
147*7836SJohn.Forte@Sun.COM  * End of NSCTL module violations
148*7836SJohn.Forte@Sun.COM  */
149*7836SJohn.Forte@Sun.COM 
150*7836SJohn.Forte@Sun.COM /*
151*7836SJohn.Forte@Sun.COM  * NSKERN module violations
152*7836SJohn.Forte@Sun.COM  */
153*7836SJohn.Forte@Sun.COM #define	UL_GETFSIZE	0
154*7836SJohn.Forte@Sun.COM #define	USHRT_MAX	0
155*7836SJohn.Forte@Sun.COM 
156*7836SJohn.Forte@Sun.COM typedef	u_longlong_t	rlim64_t;
ulimit()157*7836SJohn.Forte@Sun.COM int ulimit() { }
158*7836SJohn.Forte@Sun.COM int maxphys;
159*7836SJohn.Forte@Sun.COM 
160*7836SJohn.Forte@Sun.COM #define	AT_SIZE	0
161*7836SJohn.Forte@Sun.COM #define	VBLK	0
162*7836SJohn.Forte@Sun.COM #define	VCHR	0
163*7836SJohn.Forte@Sun.COM #define	VREG	0
164*7836SJohn.Forte@Sun.COM #define	VLNK	0
165*7836SJohn.Forte@Sun.COM 
166*7836SJohn.Forte@Sun.COM #define	VOP_CLOSE(vp, f, c, o, cr)	((void)0)
167*7836SJohn.Forte@Sun.COM #define	VOP_RWLOCK(vp, w)	((void)0)
168*7836SJohn.Forte@Sun.COM #define	VOP_RWUNLOCK(vp, w)	((void)0)
169*7836SJohn.Forte@Sun.COM #define	VOP_READ(vp, uiop, iof, cr)	((void)0)
170*7836SJohn.Forte@Sun.COM #define	VOP_WRITE(vp, uiop, iof, cr)	((void)0)
171*7836SJohn.Forte@Sun.COM 
vn_open(char * pnamep,void seg,int filemode,int createmode,struct vnode ** vpp,void crwhy,mode_t umask)172*7836SJohn.Forte@Sun.COM int vn_open(char *pnamep, void seg, int filemode, int createmode,
173*7836SJohn.Forte@Sun.COM 		struct vnode **vpp, void crwhy, mode_t umask) { }
174*7836SJohn.Forte@Sun.COM 
175*7836SJohn.Forte@Sun.COM /*
176*7836SJohn.Forte@Sun.COM  * End of NSKERN module violations
177*7836SJohn.Forte@Sun.COM  */
178*7836SJohn.Forte@Sun.COM 
179*7836SJohn.Forte@Sun.COM /*
180*7836SJohn.Forte@Sun.COM  * NVRAM module violations
181*7836SJohn.Forte@Sun.COM  */
182*7836SJohn.Forte@Sun.COM #define	MMU_PAGESIZE	0
183*7836SJohn.Forte@Sun.COM 
184*7836SJohn.Forte@Sun.COM #ifndef MAXNAMELEN
185*7836SJohn.Forte@Sun.COM #define	MAXNAMELEN	1
186*7836SJohn.Forte@Sun.COM #endif
187*7836SJohn.Forte@Sun.COM 
188*7836SJohn.Forte@Sun.COM #define	DEVMAP_DEFAULTS 0
189*7836SJohn.Forte@Sun.COM #define	PFN_INVALID	-1
190*7836SJohn.Forte@Sun.COM 
191*7836SJohn.Forte@Sun.COM char hw_serial[1];
mmu_ptob(void arg)192*7836SJohn.Forte@Sun.COM int mmu_ptob(void arg) { }
roundup(void arg)193*7836SJohn.Forte@Sun.COM int roundup(void arg) { }
194*7836SJohn.Forte@Sun.COM 
195*7836SJohn.Forte@Sun.COM /*
196*7836SJohn.Forte@Sun.COM  * End of NVRAM module violations
197*7836SJohn.Forte@Sun.COM  */
198*7836SJohn.Forte@Sun.COM 
199*7836SJohn.Forte@Sun.COM /*
200*7836SJohn.Forte@Sun.COM  * RDCSVR (SNDR) module
201*7836SJohn.Forte@Sun.COM  * Contract PSARC 2001/699
202*7836SJohn.Forte@Sun.COM  */
203*7836SJohn.Forte@Sun.COM #define	DUP_DONE	0
204*7836SJohn.Forte@Sun.COM #define	DUP_ERROR	0
205*7836SJohn.Forte@Sun.COM #define	DUP_INPROGRESS	0
206*7836SJohn.Forte@Sun.COM #define	DUP_NEW		0
207*7836SJohn.Forte@Sun.COM #define	DUP_DROP	0
208*7836SJohn.Forte@Sun.COM 
209*7836SJohn.Forte@Sun.COM #define	RPC_MAXDATASIZE	0
210*7836SJohn.Forte@Sun.COM 
211*7836SJohn.Forte@Sun.COM 
212*7836SJohn.Forte@Sun.COM typedef void * file_t;		/* opaque */
213*7836SJohn.Forte@Sun.COM typedef	void SVCXPRT;		/* opaque */
214*7836SJohn.Forte@Sun.COM typedef	void SVCMASTERXPRT;	/* opaque */
215*7836SJohn.Forte@Sun.COM typedef void xdrproc_t;		/* opaque */
216*7836SJohn.Forte@Sun.COM typedef int enum_t;
217*7836SJohn.Forte@Sun.COM 
218*7836SJohn.Forte@Sun.COM typedef struct svc_req {	/* required fields */
219*7836SJohn.Forte@Sun.COM 	int rq_vers;
220*7836SJohn.Forte@Sun.COM 	int rq_proc;
221*7836SJohn.Forte@Sun.COM } svc_req_t;
222*7836SJohn.Forte@Sun.COM 
SVC_FREEARGS(void xprt,void a,void * b)223*7836SJohn.Forte@Sun.COM void SVC_FREEARGS(void xprt, void a, void *b) { }
SVC_DUP(void xprt,void req,void i,void j,void * dr)224*7836SJohn.Forte@Sun.COM void SVC_DUP(void xprt, void req, void i, void j, void *dr) { }
svcerr_systemerr(void xprt)225*7836SJohn.Forte@Sun.COM void svcerr_systemerr(void xprt) { }
svcerr_noproc(void xprt)226*7836SJohn.Forte@Sun.COM void svcerr_noproc(void xprt) { }
SVC_DUPDONE(void xprt,void dr,void a,void b,void c)227*7836SJohn.Forte@Sun.COM void SVC_DUPDONE(void xprt, void dr, void a, void b, void c) { }
228*7836SJohn.Forte@Sun.COM 
svc_tli_kcreate(void * f,void * n,void * b,void ** x,void * t,uint_t c,uint_t d)229*7836SJohn.Forte@Sun.COM SVCXPRT *svc_tli_kcreate(void *f, void *n, void *b, void **x, void *t,
230*7836SJohn.Forte@Sun.COM 	uint_t c, uint_t d) { }
231*7836SJohn.Forte@Sun.COM 
232*7836SJohn.Forte@Sun.COM /*
233*7836SJohn.Forte@Sun.COM  * non-ddi not under contracts
234*7836SJohn.Forte@Sun.COM  */
235*7836SJohn.Forte@Sun.COM struct netbuf {
236*7836SJohn.Forte@Sun.COM 	int	maxlen;
237*7836SJohn.Forte@Sun.COM 	int	len;
238*7836SJohn.Forte@Sun.COM 	char	*buf;
239*7836SJohn.Forte@Sun.COM }
240*7836SJohn.Forte@Sun.COM 
241*7836SJohn.Forte@Sun.COM /*
242*7836SJohn.Forte@Sun.COM  * End of RDCSRV module Contracts
243*7836SJohn.Forte@Sun.COM  */
244*7836SJohn.Forte@Sun.COM 
245*7836SJohn.Forte@Sun.COM /*
246*7836SJohn.Forte@Sun.COM  * RDC (SNDR) module
247*7836SJohn.Forte@Sun.COM  * Contract PSARC 2001/699
248*7836SJohn.Forte@Sun.COM  */
249*7836SJohn.Forte@Sun.COM 
250*7836SJohn.Forte@Sun.COM typedef	u_longlong_t	rpcproc_t;
251*7836SJohn.Forte@Sun.COM typedef	u_longlong_t	xdrproc_t;
252*7836SJohn.Forte@Sun.COM typedef	u_longlong_t	rpcvers_t;
253*7836SJohn.Forte@Sun.COM #define	__dontcare__    -1
254*7836SJohn.Forte@Sun.COM #define	RPC_INTR 0
255*7836SJohn.Forte@Sun.COM #define	RPC_SUCCESS	0
256*7836SJohn.Forte@Sun.COM #define	RPC_TLIERROR	0
257*7836SJohn.Forte@Sun.COM #define	RPC_XPRTFAILED	0
258*7836SJohn.Forte@Sun.COM #define	RPC_VERSMISMATCH	0
259*7836SJohn.Forte@Sun.COM #define	RPC_PROGVERSMISMATCH 0
260*7836SJohn.Forte@Sun.COM #define	RPC_INPROGRESS	0
261*7836SJohn.Forte@Sun.COM 
262*7836SJohn.Forte@Sun.COM #define	ENOEXEC	0
263*7836SJohn.Forte@Sun.COM #define	EBADF	0
264*7836SJohn.Forte@Sun.COM 
265*7836SJohn.Forte@Sun.COM /*
266*7836SJohn.Forte@Sun.COM  * XDR routines
267*7836SJohn.Forte@Sun.COM  * from rpc/xdr.h
268*7836SJohn.Forte@Sun.COM  */
269*7836SJohn.Forte@Sun.COM typedef	void * XDR;	/* opaque */
xdr_void()270*7836SJohn.Forte@Sun.COM int xdr_void() { }
xdr_int()271*7836SJohn.Forte@Sun.COM int xdr_int() { }
xdr_union()272*7836SJohn.Forte@Sun.COM int xdr_union() { }
xdr_enum()273*7836SJohn.Forte@Sun.COM int xdr_enum() { }
xdr_u_int()274*7836SJohn.Forte@Sun.COM int xdr_u_int() { }
xdr_u_longlong_t()275*7836SJohn.Forte@Sun.COM int xdr_u_longlong_t() { }
xdr_opaque()276*7836SJohn.Forte@Sun.COM int xdr_opaque() { }
xdr_bytes()277*7836SJohn.Forte@Sun.COM int xdr_bytes() { }
xdr_array()278*7836SJohn.Forte@Sun.COM int xdr_array() { }
279*7836SJohn.Forte@Sun.COM #define	NULL_xdrproc_t ((xdrproc_t)0)
280*7836SJohn.Forte@Sun.COM 
281*7836SJohn.Forte@Sun.COM /*
282*7836SJohn.Forte@Sun.COM  * The following imported rpc/clnt.h
283*7836SJohn.Forte@Sun.COM  */
284*7836SJohn.Forte@Sun.COM 
285*7836SJohn.Forte@Sun.COM /* Client is mostly opaque exccept for the following */
286*7836SJohn.Forte@Sun.COM 
287*7836SJohn.Forte@Sun.COM typedef struct __client {	/* required fields */
288*7836SJohn.Forte@Sun.COM 	void *cl_auth;
289*7836SJohn.Forte@Sun.COM 	bool_t cl_nosignal;
290*7836SJohn.Forte@Sun.COM } CLIENT;
291*7836SJohn.Forte@Sun.COM 
292*7836SJohn.Forte@Sun.COM #define	CLSET_PROGRESS	0
293*7836SJohn.Forte@Sun.COM #define	KNC_STRSIZE	128
294*7836SJohn.Forte@Sun.COM struct knetconfig {
295*7836SJohn.Forte@Sun.COM 	unsigned int	knc_semantics;
296*7836SJohn.Forte@Sun.COM 	caddr_t		knc_protofmly;
297*7836SJohn.Forte@Sun.COM 	caddr_t		knc_proto;
298*7836SJohn.Forte@Sun.COM 	dev_t		knc_rdev;
299*7836SJohn.Forte@Sun.COM };
300*7836SJohn.Forte@Sun.COM 
clnt_sperrno()301*7836SJohn.Forte@Sun.COM void *clnt_sperrno() { }
IS_UNRECOVERABLE_RPC(a)302*7836SJohn.Forte@Sun.COM void IS_UNRECOVERABLE_RPC(a) { }
CLNT_CONTROL(cl,request,info)303*7836SJohn.Forte@Sun.COM void CLNT_CONTROL(cl, request, info) { }
AUTH_DESTROY(void * a)304*7836SJohn.Forte@Sun.COM void AUTH_DESTROY(void *a) { }
CLNT_DESTROY(void * a)305*7836SJohn.Forte@Sun.COM void CLNT_DESTROY(void *a) { }
306*7836SJohn.Forte@Sun.COM 
clnt_tli_kcreate(void * a,void * b,void c,void d,void e,void f,void * g,void ** h)307*7836SJohn.Forte@Sun.COM int clnt_tli_kcreate(void *a, void *b, void c, void d, void e, void f,
308*7836SJohn.Forte@Sun.COM 	void *g, void **h) { }
309*7836SJohn.Forte@Sun.COM 
clnt_tli_kinit(void * h,void * config,void * addr,uint_t a,int b,void * c)310*7836SJohn.Forte@Sun.COM int clnt_tli_kinit(void *h, void *config, void *addr, uint_t a, int b,
311*7836SJohn.Forte@Sun.COM 	void *c) { }
312*7836SJohn.Forte@Sun.COM 
CLNT_CALL(void,void,void,void,void,void,void)313*7836SJohn.Forte@Sun.COM void	 CLNT_CALL(void, void, void, void, void, void, void) { }
314*7836SJohn.Forte@Sun.COM 
315*7836SJohn.Forte@Sun.COM /*
316*7836SJohn.Forte@Sun.COM  * The following imported from rpc/svc.h
317*7836SJohn.Forte@Sun.COM  */
svc_sendreply()318*7836SJohn.Forte@Sun.COM void svc_sendreply() { }
svcerr_decode()319*7836SJohn.Forte@Sun.COM void svcerr_decode() { }
SVC_GETARGS()320*7836SJohn.Forte@Sun.COM void SVC_GETARGS() { }
321*7836SJohn.Forte@Sun.COM 
322*7836SJohn.Forte@Sun.COM /*
323*7836SJohn.Forte@Sun.COM  * The following imported from sys/file.h
324*7836SJohn.Forte@Sun.COM  */
325*7836SJohn.Forte@Sun.COM 
getf(void)326*7836SJohn.Forte@Sun.COM void getf(void) { }
releasef(void)327*7836SJohn.Forte@Sun.COM void releasef(void) { }
328*7836SJohn.Forte@Sun.COM 
329*7836SJohn.Forte@Sun.COM /*
330*7836SJohn.Forte@Sun.COM  * Not under contract
331*7836SJohn.Forte@Sun.COM  */
sigintr(void)332*7836SJohn.Forte@Sun.COM void sigintr(void) { }
sigunintr(void)333*7836SJohn.Forte@Sun.COM void sigunintr(void) { }
expldev()334*7836SJohn.Forte@Sun.COM dev_t expldev() { }
335*7836SJohn.Forte@Sun.COM 
336*7836SJohn.Forte@Sun.COM /*
337*7836SJohn.Forte@Sun.COM  * End of RDC module
338*7836SJohn.Forte@Sun.COM  */
339*7836SJohn.Forte@Sun.COM 
340*7836SJohn.Forte@Sun.COM /*
341*7836SJohn.Forte@Sun.COM  * SDBC module violations
342*7836SJohn.Forte@Sun.COM  */
343*7836SJohn.Forte@Sun.COM 
344*7836SJohn.Forte@Sun.COM /*
345*7836SJohn.Forte@Sun.COM  *  devid uses internal structure
346*7836SJohn.Forte@Sun.COM  *  from sys/ddi_impldefs.h
347*7836SJohn.Forte@Sun.COM  */
348*7836SJohn.Forte@Sun.COM typedef struct impl_devid {
349*7836SJohn.Forte@Sun.COM 	uchar_t did_type_hi;
350*7836SJohn.Forte@Sun.COM 	uchar_t did_type_lo;
351*7836SJohn.Forte@Sun.COM } impl_devid_t;
352*7836SJohn.Forte@Sun.COM 
353*7836SJohn.Forte@Sun.COM #define	DEVID_GETTYPE(devid)  0
354*7836SJohn.Forte@Sun.COM #define	DEVID_SCSI_SERIAL 0
355*7836SJohn.Forte@Sun.COM 
356*7836SJohn.Forte@Sun.COM #define	ENOLINK	0	/* NCALL too */
357*7836SJohn.Forte@Sun.COM #define	E2BIG	0
358*7836SJohn.Forte@Sun.COM #define	ENOENT 0
359*7836SJohn.Forte@Sun.COM #define	EIDRM 0
360*7836SJohn.Forte@Sun.COM 
361*7836SJohn.Forte@Sun.COM #define	B_KERNBUF 0
362*7836SJohn.Forte@Sun.COM #define	KSTAT_TYPE_RAW 0
363*7836SJohn.Forte@Sun.COM #define	MAXPATHLEN 0
364*7836SJohn.Forte@Sun.COM 
365*7836SJohn.Forte@Sun.COM #define	VN_HOLD(bp) ((void)0)
366*7836SJohn.Forte@Sun.COM 
367*7836SJohn.Forte@Sun.COM /* Page list IO stuff */
368*7836SJohn.Forte@Sun.COM typedef struct page {
369*7836SJohn.Forte@Sun.COM 	int v_count;	/* sdbc */
370*7836SJohn.Forte@Sun.COM } page_t;
371*7836SJohn.Forte@Sun.COM page_t kvp;		/* We use the kernel segment */
page_add(void)372*7836SJohn.Forte@Sun.COM int page_add(void) { }
page_find(void)373*7836SJohn.Forte@Sun.COM int page_find(void) { }
page_list_concat(void)374*7836SJohn.Forte@Sun.COM int page_list_concat(void) { }
pageio_setup(void)375*7836SJohn.Forte@Sun.COM int pageio_setup(void) { }
pageio_done(void)376*7836SJohn.Forte@Sun.COM int pageio_done(void) { }
377*7836SJohn.Forte@Sun.COM 
kobj_getsymvalue(void)378*7836SJohn.Forte@Sun.COM void kobj_getsymvalue(void) { }
ddi_dev_pathname(void)379*7836SJohn.Forte@Sun.COM int ddi_dev_pathname(void) { }
380*7836SJohn.Forte@Sun.COM 
381*7836SJohn.Forte@Sun.COM /*
382*7836SJohn.Forte@Sun.COM  * HACK ALERT
383*7836SJohn.Forte@Sun.COM  * struct buf hack for ddict.
384*7836SJohn.Forte@Sun.COM  * SDBC currently violates in struct buf
385*7836SJohn.Forte@Sun.COM  * 	b_pages
386*7836SJohn.Forte@Sun.COM  *	b_proc
387*7836SJohn.Forte@Sun.COM  * which we will define as the pad fields for ddict since
388*7836SJohn.Forte@Sun.COM  * we can not overload the definition of struct buf with our own stuff.
389*7836SJohn.Forte@Sun.COM  */
390*7836SJohn.Forte@Sun.COM 
391*7836SJohn.Forte@Sun.COM #define	b_pages	b_pad7	/* b_pages in struct buf */
392*7836SJohn.Forte@Sun.COM #define	b_proc	b_pad8	/* b_proc in struct buf */
393*7836SJohn.Forte@Sun.COM #define	b_forw	b_pad1	/* b_forw in struct buf */
394*7836SJohn.Forte@Sun.COM #define	b_back	b_pad2	/* b_back in struct buf */
395*7836SJohn.Forte@Sun.COM 
396*7836SJohn.Forte@Sun.COM /*
397*7836SJohn.Forte@Sun.COM  * End of SDBC moduel violations
398*7836SJohn.Forte@Sun.COM  */
399*7836SJohn.Forte@Sun.COM 
400*7836SJohn.Forte@Sun.COM /*
401*7836SJohn.Forte@Sun.COM  * SCMTEST module violations
402*7836SJohn.Forte@Sun.COM  */
403*7836SJohn.Forte@Sun.COM 
404*7836SJohn.Forte@Sun.COM #define	ESRCH	0	/* NCALL too */
405*7836SJohn.Forte@Sun.COM 
406*7836SJohn.Forte@Sun.COM /*
407*7836SJohn.Forte@Sun.COM  * End of SCMTEST module violations
408*7836SJohn.Forte@Sun.COM  */
409*7836SJohn.Forte@Sun.COM /*
410*7836SJohn.Forte@Sun.COM  * SFTM module violations
411*7836SJohn.Forte@Sun.COM  * Note: XXX This list is currently incomplete
412*7836SJohn.Forte@Sun.COM  */
413*7836SJohn.Forte@Sun.COM 
414*7836SJohn.Forte@Sun.COM typedef void * cqe_t;			/* opaque */
415*7836SJohn.Forte@Sun.COM typedef void * fcal_packet_t;		/* opaque */
416*7836SJohn.Forte@Sun.COM typedef void * soc_response_t;		/* opaque */
417*7836SJohn.Forte@Sun.COM typedef void * la_els_logi_t;		/* opaque */
418*7836SJohn.Forte@Sun.COM typedef void * la_els_adisc_t;		/* opaque */
419*7836SJohn.Forte@Sun.COM typedef void * fcp_rsp_t;		/* opaque */
420*7836SJohn.Forte@Sun.COM typedef void * soc_request_t;		/* opaque */
421*7836SJohn.Forte@Sun.COM typedef void * els_payload_t;		/* opaque */
422*7836SJohn.Forte@Sun.COM typedef void * la_els_logo_t;		/* opaque */
423*7836SJohn.Forte@Sun.COM typedef void * fc_frame_header_t;	/* opaque */
424*7836SJohn.Forte@Sun.COM 
425*7836SJohn.Forte@Sun.COM typedef struct la_els_prli_s {
426*7836SJohn.Forte@Sun.COM 	uchar_t		ls_code;
427*7836SJohn.Forte@Sun.COM 	uchar_t		page_length;
428*7836SJohn.Forte@Sun.COM 	ushort_t	payload_length;
429*7836SJohn.Forte@Sun.COM 	uchar_t		service_params[1];
430*7836SJohn.Forte@Sun.COM } la_els_prli_t;
431*7836SJohn.Forte@Sun.COM 
432*7836SJohn.Forte@Sun.COM typedef	la_els_prli_t la_els_prli_reply_t;
433*7836SJohn.Forte@Sun.COM typedef la_els_prli_t la_els_prlo_t;
434*7836SJohn.Forte@Sun.COM typedef	la_els_prli_t la_els_prlo_reply_t;
435*7836SJohn.Forte@Sun.COM 
436*7836SJohn.Forte@Sun.COM /*
437*7836SJohn.Forte@Sun.COM  * The following from /usr/include/sys/fc4/fcp.h
438*7836SJohn.Forte@Sun.COM  */
439*7836SJohn.Forte@Sun.COM typedef struct fcp_cntl {
440*7836SJohn.Forte@Sun.COM 	uchar_t	cntl_reserved_1	: 5,
441*7836SJohn.Forte@Sun.COM 		cntl_qtype	: 3;
442*7836SJohn.Forte@Sun.COM 	uchar_t	cntl_kill_tsk	: 1,
443*7836SJohn.Forte@Sun.COM 		cntl_clr_aca	: 1,
444*7836SJohn.Forte@Sun.COM 		cntl_reset	: 1,
445*7836SJohn.Forte@Sun.COM 		cntl_reserved_2	: 2,
446*7836SJohn.Forte@Sun.COM 		cntl_clr_tsk	: 1,
447*7836SJohn.Forte@Sun.COM 		cntl_abort_tsk	: 1,
448*7836SJohn.Forte@Sun.COM 		cntl_reserved_3	: 1;
449*7836SJohn.Forte@Sun.COM 	uchar_t	cntl_reserved_4	: 6,
450*7836SJohn.Forte@Sun.COM 		cntl_read_data	: 1,
451*7836SJohn.Forte@Sun.COM 		cntl_write_data	: 1;
452*7836SJohn.Forte@Sun.COM } fcp_cntl_t;
453*7836SJohn.Forte@Sun.COM 
454*7836SJohn.Forte@Sun.COM typedef struct fcp_ent_addr {
455*7836SJohn.Forte@Sun.COM 	ushort_t ent_addr_0;
456*7836SJohn.Forte@Sun.COM 	ushort_t ent_addr_1;
457*7836SJohn.Forte@Sun.COM 	ushort_t ent_addr_2;
458*7836SJohn.Forte@Sun.COM 	ushort_t ent_addr_3;
459*7836SJohn.Forte@Sun.COM } fcp_ent_addr_t;
460*7836SJohn.Forte@Sun.COM 
461*7836SJohn.Forte@Sun.COM typedef struct fcp_cmd_s {
462*7836SJohn.Forte@Sun.COM 	fcp_ent_addr_t	fcp_ent_addr;
463*7836SJohn.Forte@Sun.COM 	fcp_cntl_t	fcp_cntl;
464*7836SJohn.Forte@Sun.COM 	uchar_t		fcp_cdb[1];
465*7836SJohn.Forte@Sun.COM 	int		fcp_data_len;
466*7836SJohn.Forte@Sun.COM } fcp_cmd_t;
467*7836SJohn.Forte@Sun.COM 
468*7836SJohn.Forte@Sun.COM typedef struct fcal_transport {
469*7836SJohn.Forte@Sun.COM 	uchar_t dummy1;
470*7836SJohn.Forte@Sun.COM 	uchar_t dummy2;
471*7836SJohn.Forte@Sun.COM } fcal_transport_t;
472*7836SJohn.Forte@Sun.COM 
473*7836SJohn.Forte@Sun.COM /*
474*7836SJohn.Forte@Sun.COM  * End of SFTM module violations
475*7836SJohn.Forte@Sun.COM  */
476*7836SJohn.Forte@Sun.COM 
477*7836SJohn.Forte@Sun.COM /*
478*7836SJohn.Forte@Sun.COM  * STE module violations
479*7836SJohn.Forte@Sun.COM  */
480*7836SJohn.Forte@Sun.COM 
481*7836SJohn.Forte@Sun.COM typedef void  la_wwn_t;		/* opaque */
482*7836SJohn.Forte@Sun.COM /* WWN formats from sys/fcal/fcal_linkapp.h */
483*7836SJohn.Forte@Sun.COM typedef union la_wwn {
484*7836SJohn.Forte@Sun.COM 	uchar_t		raw_wwn[8];
485*7836SJohn.Forte@Sun.COM 	struct {
486*7836SJohn.Forte@Sun.COM 		uint_t	naa_id : 4;
487*7836SJohn.Forte@Sun.COM 		uint_t	nport_id : 12;
488*7836SJohn.Forte@Sun.COM 		uint_t	wwn_hi : 16;
489*7836SJohn.Forte@Sun.COM 		uint_t	wwn_lo;
490*7836SJohn.Forte@Sun.COM 	} w;
491*7836SJohn.Forte@Sun.COM } la_wwn_t;
492*7836SJohn.Forte@Sun.COM 
insque(void)493*7836SJohn.Forte@Sun.COM insque(void) { }
remque(void)494*7836SJohn.Forte@Sun.COM remque(void) { }
snprintf(void)495*7836SJohn.Forte@Sun.COM snprintf(void) { }
496*7836SJohn.Forte@Sun.COM 
497*7836SJohn.Forte@Sun.COM /*
498*7836SJohn.Forte@Sun.COM  * STE uses inq_serial and inq_ackqreqq from struct scsi_inquiry
499*7836SJohn.Forte@Sun.COM  */
500*7836SJohn.Forte@Sun.COM #define	inq_serial	inq_pid
501*7836SJohn.Forte@Sun.COM #define	inq_ackqreqq	inq_pid
502*7836SJohn.Forte@Sun.COM /*
503*7836SJohn.Forte@Sun.COM  * End of STE module violations
504*7836SJohn.Forte@Sun.COM  */
505*7836SJohn.Forte@Sun.COM 
506*7836SJohn.Forte@Sun.COM /*
507*7836SJohn.Forte@Sun.COM  * NCALL module violations
508*7836SJohn.Forte@Sun.COM  */
509*7836SJohn.Forte@Sun.COM #define	ENONET	0
510*7836SJohn.Forte@Sun.COM 
511*7836SJohn.Forte@Sun.COM /* NCALLSRV */
512*7836SJohn.Forte@Sun.COM typedef int bool_t;
513*7836SJohn.Forte@Sun.COM 
514*7836SJohn.Forte@Sun.COM /* NCALLIP */
515*7836SJohn.Forte@Sun.COM #ifndef TRUE
516*7836SJohn.Forte@Sun.COM #define	TRUE	1
517*7836SJohn.Forte@Sun.COM #endif
518*7836SJohn.Forte@Sun.COM 
519*7836SJohn.Forte@Sun.COM #ifndef FALSE
520*7836SJohn.Forte@Sun.COM #define	FALSE	0
521*7836SJohn.Forte@Sun.COM #endif
522*7836SJohn.Forte@Sun.COM 
523*7836SJohn.Forte@Sun.COM #define	ERANGE	0
524*7836SJohn.Forte@Sun.COM #define	ENODATA	0
525*7836SJohn.Forte@Sun.COM 
526*7836SJohn.Forte@Sun.COM #define	RPC_TIMEDOUT 0
527*7836SJohn.Forte@Sun.COM 
528*7836SJohn.Forte@Sun.COM /*
529*7836SJohn.Forte@Sun.COM  * End of NCALL violations
530*7836SJohn.Forte@Sun.COM  */
531*7836SJohn.Forte@Sun.COM #ifdef	__cplusplus
532*7836SJohn.Forte@Sun.COM }
533*7836SJohn.Forte@Sun.COM #endif
534*7836SJohn.Forte@Sun.COM 
535*7836SJohn.Forte@Sun.COM #endif /* _SYS_CONTRACT_H */
536