2 * Copyright 2000, International Business Machines Corporation and others.
5 * This software has been released under the terms of the IBM Public
6 * License. For details, see the LICENSE file in the top-level source
7 * directory or online at http://www.openafs.org/dl/license10.html
10 #ifndef _longc_procs_h_
11 #define _longc_procs_h_ 1
13 #if !defined(LONGCALL_DEFS) && defined(KERNEL) && defined(DYNEL) && (defined(AFS_DEC_ENV) || defined(AFS_DECOSF_ENV))
17 struct afs_longcall_procs {
18 int (*LC_xdr_u_short) ();
19 int (*LC_xdr_short) ();
20 int (*LC_xdr_opaque) ();
21 int (*LC_xdr_array) ();
22 int (*LC_xdr_bytes) ();
23 int (*LC_xdr_u_long) ();
24 int (*LC_xdr_string) ();
25 int (*LC_xdr_long) ();
27 int (*LC_xdr_u_int) ();
37 int (*LC_setgroups) ();
38 struct ucred * (*LC_crcopy) ();
39 struct ucred * (*LC_crget) ();
41 int (*LC_ip_stripoptions) ();
42 int (*LC_in_cksum) ();
43 struct mbuf * (*LC_m_pullup) ();
44 int (*LC_resettodr) ();
45 int (*LC_untimeout) ();
50 int (*LC_m_clalloc) ();
55 struct mbuf * (*LC_m_get) ();
56 int (*LC_socreate) ();
57 int (*LC_soreserve) ();
58 #if defined(AFS_DECOSF_ENV)
60 #else /* AFS_DECOSF_ENV */
61 struct file * (*LC_getf) ();
64 int (*LC_microtime) ();
67 #ifdef XDR_CHAR_IN_KERNEL
68 int (*LC_xdr_char) ();
72 int (*LC_gfs_unlock) ();
73 int (*LC_gfs_lock) ();
75 struct inode * (*LC_ufs_galloc) ();
76 int (*LC_gno_close) ();
77 int (*LC_km_alloc) ();
83 struct inode * (*LC_gfs_gget) ();
85 int (*LC_splclock) ();
89 int (*LC_vmaccess) ();
90 struct gnode * (*LC_gfs_namei) ();
92 int (*LC_check_mountp) ();
95 int (*LC_groupmember) ();
99 struct gnode * (*LC_gget) ();
102 int (*LC_xdr_char) ();
103 int (*LC_smp_lock_once) ();
104 int (*LC_smp_lock_long) ();
105 int (*LC_smp_lock_retry) ();
106 int (*LC_smp_unlock_long) ();
107 int (*LC_smp_owner) ();
109 int (*LC_cacheinvalall) ();
111 int (*LC_ufs_rwgp_lock)();
113 int (*LC_iunlock) ();
116 struct inode * (*LC_ialloc) ();
117 int (*LC_vno_close) ();
118 int (*LC_kmem_alloc) ();
119 int (*LC_kmem_free) ();
121 int (*LC_m_cpytoc) ();
123 int (*LC_ufs_brelse) ();
124 int (*LC_lookupname) ();
125 int (*LC_vn_rele) ();
126 int (*LC_vn_rdwr) ();
128 struct mount * (*LC_getmp) ();
129 struct inode * (*LC_iget) ();
130 struct mbuf * (*LC_m_more) ();
134 struct file * (*LC_falloc) ();
137 long (*LC_rmalloc) ();
138 struct pte * (*LC_vtopte) ();
139 int (*LC_vattr_null) ();
143 struct buf * (*LC_geteblk) ();
147 int (*LC_copyinstr) ();
155 int (*LC_igetinode) ();
157 #if defined(AFS_DECOSF_ENV)
158 void (*LC_assert_wait) ();
160 int (*LC_fake_inode_init) ();
161 int (*LC_getnewvnode) ();
162 struct mount * (*LC_getvfs) ();
164 int (*LC_insmntque) ();
165 int (*LC_ioctl_base) ();
166 caddr_t (*LC_kalloc) ();
168 void (*LC_lock_done) ();
169 struct mbuf * (*LC_m_getclr) ();
170 struct mbuf * (*LC_m_retry) ();
171 struct mbuf * (*LC_m_retryhdr) ();
172 int (*LC_mpsleep) ();
174 unsigned int (*LC_nuxi_32) ();
175 unsigned short (*LC_nuxi_16) ();
176 int (*LC_setgroups_base) ();
177 int (*LC_substitute_real_creds) ();
178 int (*LC_swap_ipl) ();
179 void (*LC_thread_block) ();
180 /* XXX - should be kern_return_t */
181 int (*LC_u_vp_create) ();
182 int (*LC_ubc_bufalloc) ();
183 int (*LC_ubc_flush_sync) ();
184 int (*LC_ubc_invalidate) ();
185 int (*LC_ubc_lookup) ();
186 int (*LC_ubc_page_dirty) ();
187 int (*LC_ubc_page_release) ();
188 int (*LC_ubc_sync_iodone) ();
191 int (*LC_vn_close) ();
193 int (*LC_vn_ioctl) ();
194 int (*LC_vn_read) ();
195 int (*LC_vn_select) ();
196 int (*LC_vn_write) ();
199 int (*LC_xdr_char) ();
200 #endif /* AFS_DECOSF_ENV */
202 extern struct afs_longcall_procs afs_longcall_procs;
204 #ifndef LONGCALL_NO_MACROS
206 #if defined(AFS_DECOSF_ENV)
209 #endif /* AFS_DECOSF_ENV */
211 #define crfree (*afs_longcall_procs.LC_crfree)
212 #define suser (*afs_longcall_procs.LC_suser)
213 #define bzero (*afs_longcall_procs.LC_bzero)
214 #define wakeup (*afs_longcall_procs.LC_wakeup)
215 #if !defined(AFS_DECOSF_ENV)
216 #define sleep (*afs_longcall_procs.LC_sleep)
218 #define copyin (*afs_longcall_procs.LC_copyin)
219 #define copyinstr (*afs_longcall_procs.LC_copyinstr)
220 #define printf (*afs_longcall_procs.LC_printf)
221 #define panic (*afs_longcall_procs.LC_panic)
222 #define geteblk (*afs_longcall_procs.LC_geteblk)
223 #define brelse (*afs_longcall_procs.LC_brelse)
224 #define bcopy (*afs_longcall_procs.LC_bcopy)
225 #define strlen (*afs_longcall_procs.LC_strlen)
226 #define vtopte (*afs_longcall_procs.LC_vtopte)
227 #define rmalloc (*afs_longcall_procs.LC_rmalloc)
229 #define mapin (*afs_longcall_procs.LC_mapin)
230 #define strcpy (*afs_longcall_procs.LC_strcpy)
231 #define strncpy (*afs_longcall_procs.LC_strncpy)
233 #define rmfree (*afs_longcall_procs.LC_rmfree)
234 #define falloc (*afs_longcall_procs.LC_falloc)
235 #define rdwri (*afs_longcall_procs.LC_rdwri)
237 #ifdef XDR_CHAR_IN_KERNEL
238 #define xdr_char (*afs_longcall_procs.LC_xdr_char)
242 #define psignal (*afs_longcall_procs.LC_psignal)
243 #define ufs_rwgp_lock (*afs_longcall_procs.LC_ufs_rwgp_lock)
244 #define gput (*afs_longcall_procs.LC_gput)
245 #define ufs_galloc (*afs_longcall_procs.LC_ufs_galloc)
246 #define gno_close (*afs_longcall_procs.LC_gno_close)
248 #define km_alloc (*afs_longcall_procs.LC_km_alloc)
249 #define km_free (*afs_longcall_procs.LC_km_free)
251 #define nuxi_l (*afs_longcall_procs.LC_nuxi_l)
252 #define nuxi_s (*afs_longcall_procs.LC_nuxi_s)
254 #define gfs_gget (*afs_longcall_procs.LC_gfs_gget)
255 #define binval (*afs_longcall_procs.LC_binval)
256 #define splclock (*afs_longcall_procs.LC_splclock)
257 #define xumount (*afs_longcall_procs.LC_xumount)
258 #define bflush (*afs_longcall_procs.LC_bflush)
259 #define blkclr (*afs_longcall_procs.LC_blkclr)
260 #define vmaccess (*afs_longcall_procs.LC_vmaccess)
261 #define gfs_namei (*afs_longcall_procs.LC_gfs_namei)
262 #define getpdev (*afs_longcall_procs.LC_getpdev)
263 #define check_mountp (*afs_longcall_procs.LC_check_mountp)
264 #define access (*afs_longcall_procs.LC_access)
265 #define ovbcopy (*afs_longcall_procs.LC_ovbcopy)
266 #define groupmember (*afs_longcall_procs.LC_groupmember)
267 #define imin (*afs_longcall_procs.LC_imin)
268 #define setjmp (*afs_longcall_procs.LC_setjmp)
269 #define gget (*afs_longcall_procs.LC_gget)
270 #define grele (*afs_longcall_procs.LC_grele)
271 #define gref (*afs_longcall_procs.LC_gref)
272 #define xdr_char (*afs_longcall_procs.LC_xdr_char)
273 #define smp_lock_once (*afs_longcall_procs.LC_smp_lock_once)
274 #define smp_lock_long (*afs_longcall_procs.LC_smp_lock_long)
275 #define smp_lock_retry (*afs_longcall_procs.LC_smp_lock_retry)
276 #define smp_unlock_long (*afs_longcall_procs.LC_smp_unlock_long)
277 #define smp_owner (*afs_longcall_procs.LC_smp_owner)
278 #define xinval (*afs_longcall_procs.LC_xinval)
279 #define cacheinvalall (*afs_longcall_procs.LC_cacheinvalall)
281 #define iunlock (*afs_longcall_procs.LC_iunlock)
282 #define ilock (*afs_longcall_procs.LC_ilock)
283 #define iput (*afs_longcall_procs.LC_iput)
284 #define ialloc (*afs_longcall_procs.LC_ialloc)
285 #if !defined(AFS_DECOSF_ENV)
286 #define vno_close (*afs_longcall_procs.LC_vno_close)
288 #define kmem_alloc (*afs_longcall_procs.LC_kmem_alloc)
289 #define kmem_free (*afs_longcall_procs.LC_kmem_free)
291 #define m_cpytoc (*afs_longcall_procs.LC_m_cpytoc)
293 #define ufs_brelse (*afs_longcall_procs.LC_ufs_brelse)
294 #if !defined(AFS_DECOSF_ENV)
295 #define lookupname (*afs_longcall_procs.LC_lookupname)
297 /* #define vn_rele (*afs_longcall_procs.LC_vn_rele) */
298 #define mapout (*afs_longcall_procs.LC_mapout)
299 #define getmp (*afs_longcall_procs.LC_getmp)
300 #define iget (*afs_longcall_procs.LC_iget)
301 #define m_more (*afs_longcall_procs.LC_m_more)
302 #define _spl1 (*afs_longcall_procs.LC__spl1)
305 #define bcmp (*afs_longcall_procs.LC_bcmp)
306 #if !defined(AFS_DECOSF_ENV)
307 #define splnet (*afs_longcall_procs.LC_splnet)
308 #define splx (*afs_longcall_procs.LC_splx)
310 #define microtime (*afs_longcall_procs.LC_microtime)
311 /* #define ldiv$$ (*afs_longcall_procs[34]) */
312 #define getf (*afs_longcall_procs.LC_getf)
313 #define soreserve (*afs_longcall_procs.LC_soreserve)
314 #define socreate (*afs_longcall_procs.LC_socreate)
315 #define m_get (*afs_longcall_procs.LC_m_get)
316 #define sobind (*afs_longcall_procs.LC_sobind)
317 #define soclose (*afs_longcall_procs.LC_soclose)
318 #define m_freem (*afs_longcall_procs.LC_m_freem)
319 #if !defined(AFS_DECOSF_ENV)
320 #define splimp (*afs_longcall_procs.LC_splimp)
322 #define m_clalloc (*afs_longcall_procs.LC_m_clalloc)
323 #define m_free (*afs_longcall_procs.LC_m_free)
324 #define xrele (*afs_longcall_procs.LC_xrele)
325 #define mpurge (*afs_longcall_procs.LC_mpurge)
326 /* #define lmul$$ (*afs_longcall_procs[48]) */
327 /* #define timeout (*afs_longcall_procs.LC_timeout) */
328 #define untimeout (*afs_longcall_procs.LC_untimeout)
329 #define resettodr (*afs_longcall_procs.LC_resettodr)
330 #define m_pullup (*afs_longcall_procs.LC_m_pullup)
331 #define ip_stripoptions (*afs_longcall_procs.LC_ip_stripoptions)
332 #define in_cksum (*afs_longcall_procs.LC_in_cksum)
333 #define crcopy (*afs_longcall_procs.LC_crcopy)
334 #if !defined(AFS_DECOSF_ENV)
335 #define crhold (*afs_longcall_procs.LC_crhold)
337 #define crget (*afs_longcall_procs.LC_crget)
338 #define setgroups (*afs_longcall_procs.LC_setgroups)
339 /* #define flock (*afs_longcall_procs.LC_flock) */
340 #define uprintf (*afs_longcall_procs.LC_uprintf)
341 #define uiomove (*afs_longcall_procs.LC_uiomove)
342 #define strcmp (*afs_longcall_procs.LC_strcmp)
343 #define ureadc (*afs_longcall_procs.LC_ureadc)
344 #define biodone (*afs_longcall_procs.LC_biodone)
345 /* #define uldiv$$ (*afs_longcall_procs[68]) */
346 #define copyout (*afs_longcall_procs.LC_copyout)
347 #define ioctl (*afs_longcall_procs.LC_ioctl)
348 #define xdr_int (*afs_longcall_procs.LC_xdr_int)
349 #define xdr_long (*afs_longcall_procs.LC_xdr_long)
350 #define xdr_string (*afs_longcall_procs.LC_xdr_string)
351 #define xdr_u_long (*afs_longcall_procs.LC_xdr_u_long)
352 #define xdr_u_int (*afs_longcall_procs.LC_xdr_u_int)
353 #define xdr_bytes (*afs_longcall_procs.LC_xdr_bytes)
354 #define xdr_array (*afs_longcall_procs.LC_xdr_array)
355 #define xdr_opaque (*afs_longcall_procs.LC_xdr_opaque)
356 #define xdr_short (*afs_longcall_procs.LC_xdr_short)
357 #define xdr_u_short (*afs_longcall_procs.LC_xdr_u_short)
359 #if defined(AFS_DECOSF_ENV)
360 #define assert_wait (*afs_longcall_procs.LC_assert_wait)
361 #define closef (*afs_longcall_procs.LC_closef)
362 #define fake_inode_init (*afs_longcall_procs.LC_fake_inode_init)
363 #define getnewvnode (*afs_longcall_procs.LC_getnewvnode)
364 #define getvfs (*afs_longcall_procs.LC_getvfs)
365 #define idrop (*afs_longcall_procs.LC_idrop)
366 #define insmntque (*afs_longcall_procs.LC_insmntque)
367 #define ioctl_base (*afs_longcall_procs.LC_ioctl_base)
368 #define kalloc (*afs_longcall_procs.LC_kalloc)
369 #define kfree (*afs_longcall_procs.LC_kfree)
370 #define lock_done (*afs_longcall_procs.LC_lock_done)
371 #define m_getclr (*afs_longcall_procs.LC_m_getclr)
372 #define m_retry (*afs_longcall_procs.LC_m_retry)
373 #define m_retryhdr (*afs_longcall_procs.LC_m_retryhdr)
374 #define mpsleep (*afs_longcall_procs.LC_mpsleep)
375 #define namei (*afs_longcall_procs.LC_namei)
376 #define nuxi_32 (*afs_longcall_procs.LC_nuxi_32)
377 #define nuxi_16 (*afs_longcall_procs.LC_nuxi_16)
378 #define setgroups_base (*afs_longcall_procs.LC_setgroups_base)
379 #define substitute_real_creds (*afs_longcall_procs.LC_substitute_real_creds)
380 #define swap_ipl (*afs_longcall_procs.LC_swap_ipl)
381 #define thread_block (*afs_longcall_procs.LC_thread_block)
382 #define u_vp_create (*afs_longcall_procs.LC_u_vp_create)
383 #define ubc_bufalloc (*afs_longcall_procs.LC_ubc_bufalloc)
384 #define ubc_flush_sync (*afs_longcall_procs.LC_ubc_flush_sync)
385 #define ubc_invalidate (*afs_longcall_procs.LC_ubc_invalidate)
386 #define ubc_lookup (*afs_longcall_procs.LC_ubc_lookup)
387 #define ubc_page_dirty (*afs_longcall_procs.LC_ubc_page_dirty)
388 #define ubc_page_release (*afs_longcall_procs.LC_ubc_page_release)
389 #define ubc_sync_iodone (*afs_longcall_procs.LC_ubc_sync_iodone)
390 #define vgetm (*afs_longcall_procs.LC_vgetm)
391 #define vgone (*afs_longcall_procs.LC_vgone)
392 #define vn_close (*afs_longcall_procs.LC_vn_close)
394 #define vn_ioctl (*afs_longcall_procs.LC_vn_ioctl)
395 #define vn_read (*afs_longcall_procs.LC_vn_read)
396 #define vn_select (*afs_longcall_procs.LC_vn_select)
397 #define vn_write (*afs_longcall_procs.LC_vn_write)
399 #define vrele (*afs_longcall_procs.LC_vrele)
400 #define xdr_char (*afs_longcall_procs.LC_xdr_char)
401 #endif /* AFS_DECOSF_ENV */
403 #endif /* LONGCALL_NO_MACROS */