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