xref: /freebsd/include/rpcsvc/nis_cache.x (revision ae1f3df43466466a21c7da0df93ecb58a3e53d74)
1 %/*
2 % * Sun RPC is a product of Sun Microsystems, Inc. and is provided for
3 % * unrestricted use provided that this legend is included on all tape
4 % * media and as a part of the software program in whole or part.  Users
5 % * may copy or modify Sun RPC without charge, but are not authorized
6 % * to license or distribute it to anyone else except as part of a product or
7 % * program developed by the user or with the express written consent of
8 % * Sun Microsystems, Inc.
9 % *
10 % * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE
11 % * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR
12 % * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE.
13 % *
14 % * Sun RPC is provided with no support and without any obligation on the
15 % * part of Sun Microsystems, Inc. to assist in its use, correction,
16 % * modification or enhancement.
17 % *
18 % * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE
19 % * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC
20 % * OR ANY PART THEREOF.
21 % *
22 % * In no event will Sun Microsystems, Inc. be liable for any lost revenue
23 % * or profits or other special, indirect and consequential damages, even if
24 % * Sun has been advised of the possibility of such damages.
25 % *
26 % * Sun Microsystems, Inc.
27 % * 2550 Garcia Avenue
28 % * Mountain View, California  94043
29 % */
30 
31 /*
32  *	nis_cache.x
33  *
34  *	Copyright (c) 1988-1992 Sun Microsystems Inc
35  *	All Rights Reserved.
36  */
37 
38 /* From: %#pragma ident	"@(#)nis_cache.x	1.11	94/05/03 SMI" */
39 
40 #ifndef RPC_HDR
41 %#include <sys/cdefs.h>
42 %__FBSDID("$FreeBSD$");
43 #endif
44 
45 #ifdef RPC_HDR
46 %#include <rpc/types.h>
47 %#include <rpcsvc/nis.h>
48 %
49 %/* default cache file */
50 %#define CACHEFILE "/var/nis/NIS_SHARED_DIRCACHE"
51 %
52 %/* clients have to read-lock the cache file, and SVR4 locking requires that */
53 %/*   the file be writable, but we don't want a world-writable cache file.   */
54 %/*   So... everyone agrees to use a different, world-writable file for the  */
55 %/*   locking operations, but the data is in CACHEFILE.                      */
56 %#define CACHELOCK "/usr/tmp/.NIS_DIR_CACHELOCK"
57 %
58 %/* the file containing one trusted XDR'ed directory object.
59 % * This has to be present for the system to work.
60 % */
61 %#define COLD_START_FILE "/var/nis/NIS_COLD_START"
62 %
63 %enum pc_status {HIT, MISS, NEAR_MISS};
64 %
65 %extern int __nis_debuglevel;
66 %
67 %
68 #endif
69 
70 #ifdef RPC_CLNT
71 #ifdef SOLARIS
72 %#include "../gen/nis_clnt.h"
73 #else
74 %#include "nis.h"
75 #endif
76 #endif
77 
78 program CACHEPROG {
79 	version CACHE_VER_1 {
80 		void NIS_CACHE_ADD_ENTRY(fd_result) = 1;
81 		void NIS_CACHE_REMOVE_ENTRY(directory_obj) = 2;
82 		void NIS_CACHE_READ_COLDSTART(void) = 3;
83 		void NIS_CACHE_REFRESH_ENTRY(string<>) = 4;
84 	} = 1;
85 } = 100301;
86