xref: /freebsd/include/rpcsvc/nis_cache.x (revision 5b31cc94b10d4bb7109c6b27940a0fc76a44a331)
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 #ifdef RPC_HDR
39 %#include <rpc/types.h>
40 %#include <rpcsvc/nis.h>
41 %
42 %/* default cache file */
43 %#define CACHEFILE "/var/nis/NIS_SHARED_DIRCACHE"
44 %
45 %/* clients have to read-lock the cache file, and SVR4 locking requires that */
46 %/*   the file be writable, but we don't want a world-writable cache file.   */
47 %/*   So... everyone agrees to use a different, world-writable file for the  */
48 %/*   locking operations, but the data is in CACHEFILE.                      */
49 %#define CACHELOCK "/usr/tmp/.NIS_DIR_CACHELOCK"
50 %
51 %/* the file containing one trusted XDR'ed directory object.
52 % * This has to be present for the system to work.
53 % */
54 %#define COLD_START_FILE "/var/nis/NIS_COLD_START"
55 %
56 %enum pc_status {HIT, MISS, NEAR_MISS};
57 %
58 %extern int __nis_debuglevel;
59 %
60 %
61 #endif
62 
63 #ifdef RPC_CLNT
64 #ifdef SOLARIS
65 %#include "../gen/nis_clnt.h"
66 #else
67 %#include "nis.h"
68 #endif
69 #endif
70 
71 program CACHEPROG {
72 	version CACHE_VER_1 {
73 		void NIS_CACHE_ADD_ENTRY(fd_result) = 1;
74 		void NIS_CACHE_REMOVE_ENTRY(directory_obj) = 2;
75 		void NIS_CACHE_READ_COLDSTART(void) = 3;
76 		void NIS_CACHE_REFRESH_ENTRY(string<>) = 4;
77 	} = 1;
78 } = 100301;
79