Import Upstream version 1.8.5
[hcoop/debian/openafs.git] / src / config / vioc.h
1 /*
2 * Copyright 2000, International Business Machines Corporation and others.
3 * All Rights Reserved.
4 *
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
8 */
9
10 /*
11 * The constants for doing ioctl or pioctl calls to AFS. For more information
12 * see the registry at <http://grand.central.org/numbers/pioctls.html>. This
13 * is separate from afs/venus.h (which defines some of the structure arguments
14 * for some of these calls) so that it can also be used by kopenafs.h; they
15 * may be re-merged later.
16 *
17 * You probably don't want to include this header file directly; instead,
18 * include afs/venus.h or kopenafs.h depending on the context.
19 */
20
21 #ifndef AFS_VIOC_H
22 #define AFS_VIOC_H 1
23
24 #ifndef _VICEIOCTL
25 #include <afs/vice.h>
26 #endif
27
28 /* IOCTLS to Venus. Apply these to open file decriptors. */
29 #define VIOCCLOSEWAIT _VICEIOCTL(1) /* Force close to wait for store */
30 #define VIOCABORT _VICEIOCTL(2) /* Abort close on this fd */
31 #define VIOCIGETCELL _VICEIOCTL(3) /* ioctl to get cell name */
32
33 /* PIOCTLS to Venus. Apply these to path names with pioctl. */
34 #define VIOCSETAL _VICEIOCTL(1) /* Set access control list */
35 #define VIOCGETAL _VICEIOCTL(2) /* Get access control list */
36 #define VIOCSETTOK _VICEIOCTL(3) /* Set authentication tokens */
37 #define VIOCGETVOLSTAT _VICEIOCTL(4) /* Get volume status */
38 #define VIOCSETVOLSTAT _VICEIOCTL(5) /* Set volume status */
39 #define VIOCFLUSH _VICEIOCTL(6) /* Invalidate cache entry */
40 #define VIOCSTAT _VICEIOCTL(7) /* Get file status */
41 #define VIOCGETTOK _VICEIOCTL(8) /* Get authentication tokens */
42 #define VIOCUNLOG _VICEIOCTL(9) /* Invalidate tokens */
43 #define VIOCCKSERV _VICEIOCTL(10) /* Check that servers are up */
44 #define VIOCCKBACK _VICEIOCTL(11) /* Check backup volume mappings */
45 #define VIOCCKCONN _VICEIOCTL(12) /* Check connections for a user */
46 #define VIOCGETTIME _VICEIOCTL(13) /* Do a vice gettime for performance testing */
47 #define VIOCWHEREIS _VICEIOCTL(14) /* Find out where a volume is located */
48 #define VIOCPREFETCH _VICEIOCTL(15) /* Prefetch a file */
49 #define VIOCNOP _VICEIOCTL(16) /* Do nothing (more preformance) */
50 #define VIOCENGROUP _VICEIOCTL(17) /* Enable group access for a group */
51 #define VIOCDISGROUP _VICEIOCTL(18) /* Disable group access */
52 #define VIOCLISTGROUPS _VICEIOCTL(19) /* List enabled and disabled groups */
53 #define VIOCACCESS _VICEIOCTL(20) /* Access using PRS_FS bits */
54 #define VIOCUNPAG _VICEIOCTL(21) /* Invalidate pag */
55 #define VIOCGETFID _VICEIOCTL(22) /* Get file ID quickly */
56 #define VIOCWAITFOREVER _VICEIOCTL(23) /* Wait for dead servers forever */
57 #define VIOCSETCACHESIZE _VICEIOCTL(24) /* Set venus cache size in 1k units */
58 #define VIOCFLUSHCB _VICEIOCTL(25) /* Flush callback only */
59 #define VIOCNEWCELL _VICEIOCTL(26) /* Configure new cell */
60 #define VIOCGETCELL _VICEIOCTL(27) /* Get cell info */
61 #define VIOC_AFS_DELETE_MT_PT _VICEIOCTL(28) /* [AFS] Delete mount point */
62 #define VIOC_AFS_STAT_MT_PT _VICEIOCTL(29) /* [AFS] Stat mount point */
63 #define VIOC_FILE_CELL_NAME _VICEIOCTL(30) /* Get cell in which file lives */
64 #define VIOC_GET_WS_CELL _VICEIOCTL(31) /* Get cell in which workstation lives */
65 #define VIOC_AFS_MARINER_HOST _VICEIOCTL(32) /* [AFS] Get/set mariner host */
66 #define VIOC_GET_PRIMARY_CELL _VICEIOCTL(33) /* Get primary cell for caller */
67 #define VIOC_VENUSLOG _VICEIOCTL(34) /* Enable/Disable venus logging */
68 #define VIOC_GETCELLSTATUS _VICEIOCTL(35) /* get cell status info */
69 #define VIOC_SETCELLSTATUS _VICEIOCTL(36) /* set corresponding info */
70 #define VIOC_FLUSHVOLUME _VICEIOCTL(37) /* flush whole volume's data */
71 #define VIOC_AFS_SYSNAME _VICEIOCTL(38) /* Change @sys value */
72 #define VIOC_EXPORTAFS _VICEIOCTL(39) /* Export afs to nfs clients */
73 #define VIOCGETCACHEPARMS _VICEIOCTL(40) /* Get cache stats */
74 #define VIOCGETVCXSTATUS _VICEIOCTL(41)
75 #define VIOC_SETSPREFS33 _VICEIOCTL(42) /* Set server ranks */
76 #define VIOC_GETSPREFS _VICEIOCTL(43) /* Get server ranks */
77 #define VIOC_GAG _VICEIOCTL(44) /* silence CM */
78 #define VIOC_TWIDDLE _VICEIOCTL(45) /* adjust RX knobs */
79 #define VIOC_SETSPREFS _VICEIOCTL(46) /* Set server ranks */
80 #define VIOC_STORBEHIND _VICEIOCTL(47) /* adjust store asynchrony */
81 #define VIOC_GCPAGS _VICEIOCTL(48) /* disable automatic pag gc-ing */
82 #define VIOC_GETINITPARAMS _VICEIOCTL(49) /* get initial cm params */
83 #define VIOC_GETCPREFS _VICEIOCTL(50) /* Get client interface */
84 #define VIOC_SETCPREFS _VICEIOCTL(51) /* Set client interface */
85 #define VIOC_AFS_FLUSHMOUNT _VICEIOCTL(52) /* Flush mount symlink data */
86 #define VIOC_RXSTAT_PROC _VICEIOCTL(53) /* Control process RX stats */
87 #define VIOC_RXSTAT_PEER _VICEIOCTL(54) /* Control peer RX stats */
88 #define VIOC_GETRXKCRYPT _VICEIOCTL(55) /* Set rxkad enc flag */
89 #define VIOC_SETRXKCRYPT _VICEIOCTL(56) /* Set rxkad enc flag */
90 #define VIOC_PREFETCHTAPE _VICEIOCTL(66) /* osd prefetch from tape */
91 #define VIOC_FS_CMD _VICEIOCTL(67) /* fs extensions for osd etc. */
92 #define VIOC_RESIDENCY_CMD VIOC_FS_CMD
93
94 #define VIOC_STATISTICS _VICEIOCTL(68) /* arla: fetch statistics */
95 #define VIOC_GETVCXSTATUS2 _VICEIOCTL(69) /* vcache statistics */
96
97 /* Coordinated 'C' pioctl's */
98 #define VIOC_NEWALIAS _CVICEIOCTL(1) /* create new cell alias */
99 #define VIOC_GETALIAS _CVICEIOCTL(2) /* get alias info */
100 #define VIOC_CBADDR _CVICEIOCTL(3) /* push callback addr */
101 #define VIOC_DISCON _CVICEIOCTL(5) /* set/get discon mode */
102 #define VIOC_GETTOK2 _CVICEIOCTL(7) /* extended fetch tokens */
103 #define VIOC_SETTOK2 _CVICEIOCTL(8) /* extended set tokens */
104 #define VIOC_NEWUUID _CVICEIOCTL(9) /* new uuid */
105 #define VIOCPRECACHE _CVICEIOCTL(12) /* precache size */
106 #define VIOC_GETPAG _CVICEIOCTL(13) /* get pag value */
107 #define VIOC_FLUSHALL _CVICEIOCTL(14) /* flush all volume data */
108
109 /* OpenAFS-specific 'O' pioctl's */
110 #define VIOC_NFS_NUKE_CREDS _OVICEIOCTL(1) /* nuke creds for all PAG's */
111
112 #endif /* AFS_VIOC_H */