Annotation of sys/xfs/xfs_pioctl.h, Revision 1.1
1.1 ! nbrk 1: /* $OpenBSD: xfs_pioctl.h,v 1.5 2003/09/08 05:46:08 beck Exp $ */
! 2: /*
! 3: * Copyright (c) 1995 - 2000 Kungliga Tekniska Högskolan
! 4: * (Royal Institute of Technology, Stockholm, Sweden).
! 5: * All rights reserved.
! 6: *
! 7: * Redistribution and use in source and binary forms, with or without
! 8: * modification, are permitted provided that the following conditions
! 9: * are met:
! 10: *
! 11: * 1. Redistributions of source code must retain the above copyright
! 12: * notice, this list of conditions and the following disclaimer.
! 13: *
! 14: * 2. Redistributions in binary form must reproduce the above copyright
! 15: * notice, this list of conditions and the following disclaimer in the
! 16: * documentation and/or other materials provided with the distribution.
! 17: *
! 18: * 3. All advertising materials mentioning features or use of this software
! 19: * must display the following acknowledgement:
! 20: * This product includes software developed by the Kungliga Tekniska
! 21: * Högskolan and its contributors.
! 22: *
! 23: * 4. Neither the name of the Institute nor the names of its contributors
! 24: * may be used to endorse or promote products derived from this software
! 25: * without specific prior written permission.
! 26: *
! 27: * THIS SOFTWARE IS PROVIDED BY THE INSTITUTE AND CONTRIBUTORS ``AS IS'' AND
! 28: * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
! 29: * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
! 30: * ARE DISCLAIMED. IN NO EVENT SHALL THE INSTITUTE OR CONTRIBUTORS BE LIABLE
! 31: * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
! 32: * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
! 33: * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
! 34: * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
! 35: * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
! 36: * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
! 37: * SUCH DAMAGE.
! 38: */
! 39:
! 40: #ifndef _XFS_XFS_PIOCTL_H_
! 41: #define _XFS_XFS_PIOCTL_H_
! 42:
! 43: /*
! 44: */
! 45:
! 46: #define AFSCALL_PIOCTL 20
! 47: #define AFSCALL_SETPAG 21
! 48: #define AFSCALL_PROBE 22
! 49:
! 50: #ifndef _VICEIOCTL
! 51: #define _VICEIOCTL(id) ((unsigned int ) _IOW('V', id, struct ViceIoctl))
! 52: #endif /* _VICEIOCTL */
! 53:
! 54: /*
! 55: * ioctls
! 56: */
! 57:
! 58: #define VIOCCLOSEWAIT _VICEIOCTL(1)
! 59: #define VIOCABORT _VICEIOCTL(2)
! 60: #define VIOIGETCELL _VICEIOCTL(3)
! 61:
! 62: /*
! 63: * pioctls
! 64: */
! 65:
! 66: #define VIOCSETAL _VICEIOCTL(1)
! 67: #define VIOCGETAL _VICEIOCTL(2)
! 68: #define VIOCSETTOK _VICEIOCTL(3)
! 69: #define VIOCGETVOLSTAT _VICEIOCTL(4)
! 70: #define VIOCSETVOLSTAT _VICEIOCTL(5)
! 71: #define VIOCFLUSH _VICEIOCTL(6)
! 72: #define VIOCSTAT _VICEIOCTL(7)
! 73: #define VIOCGETTOK _VICEIOCTL(8)
! 74: #define VIOCUNLOG _VICEIOCTL(9)
! 75: #define VIOCCKSERV _VICEIOCTL(10)
! 76: #define VIOCCKBACK _VICEIOCTL(11)
! 77: #define VIOCCKCONN _VICEIOCTL(12)
! 78: #define VIOCGETTIME _VICEIOCTL(13)
! 79: #define VIOCWHEREIS _VICEIOCTL(14)
! 80: #define VIOCPREFETCH _VICEIOCTL(15)
! 81: #define VIOCNOP _VICEIOCTL(16)
! 82: #define VIOCENGROUP _VICEIOCTL(17)
! 83: #define VIOCDISGROUP _VICEIOCTL(18)
! 84: #define VIOCLISTGROUPS _VICEIOCTL(19)
! 85: #define VIOCACCESS _VICEIOCTL(20)
! 86: #define VIOCUNPAG _VICEIOCTL(21)
! 87: #define VIOCGETFID _VICEIOCTL(22)
! 88: #define VIOCWAITFOREVER _VICEIOCTL(23)
! 89: #define VIOCSETCACHESIZE _VICEIOCTL(24)
! 90: #define VIOCFLUSHCB _VICEIOCTL(25)
! 91: #define VIOCNEWCELL _VICEIOCTL(26)
! 92: #define VIOCGETCELL _VICEIOCTL(27)
! 93: #define VIOC_AFS_DELETE_MT_PT _VICEIOCTL(28)
! 94: #define VIOC_AFS_STAT_MT_PT _VICEIOCTL(29)
! 95: #define VIOC_FILE_CELL_NAME _VICEIOCTL(30)
! 96: #define VIOC_GET_WS_CELL _VICEIOCTL(31)
! 97: #define VIOC_AFS_MARINER_HOST _VICEIOCTL(32)
! 98: #define VIOC_GET_PRIMARY_CELL _VICEIOCTL(33)
! 99: #define VIOC_VENUSLOG _VICEIOCTL(34)
! 100: #define VIOC_GETCELLSTATUS _VICEIOCTL(35)
! 101: #define VIOC_SETCELLSTATUS _VICEIOCTL(36)
! 102: #define VIOC_FLUSHVOLUME _VICEIOCTL(37)
! 103: #define VIOC_AFS_SYSNAME _VICEIOCTL(38)
! 104: #define VIOC_EXPORTAFS _VICEIOCTL(39)
! 105: #define VIOCGETCACHEPARAMS _VICEIOCTL(40)
! 106: #define VIOCCONNECTMODE _VICEIOCTL(41)
! 107: #define VIOCGETVCXSTATUS _VICEIOCTL(41)
! 108: #define VIOC_SETSPREFS33 _VICEIOCTL(42)
! 109: #define VIOC_GETSPREFS _VICEIOCTL(43)
! 110: #define VIOC_GAG _VICEIOCTL(44)
! 111: #define VIOC_TWIDDLE _VICEIOCTL(45)
! 112: #define VIOC_SETSPREFS _VICEIOCTL(46)
! 113: #define VIOC_STORBEHIND _VICEIOCTL(47)
! 114: #define VIOC_GCPAGS _VICEIOCTL(48)
! 115: #define VIOC_GETINITPARAMS _VICEIOCTL(49)
! 116: #define VIOC_GETCPREFS _VICEIOCTL(50)
! 117: #define VIOC_SETCPREFS _VICEIOCTL(51)
! 118: #define VIOC_FLUSHMOUNT _VICEIOCTL(52)
! 119: #define VIOC_RXSTATPROC _VICEIOCTL(53)
! 120: #define VIOC_RXSTATPEER _VICEIOCTL(54)
! 121:
! 122: #define VIOC_GETRXKCRYPT _VICEIOCTL(55)
! 123: #define VIOC_SETRXKCRYPT _VICEIOCTL(56)
! 124:
! 125: /* arla specific */
! 126:
! 127: #define VIOC_FPRIOSTATUS _VICEIOCTL(57)
! 128: #define VIOC_FHGET _VICEIOCTL(58)
! 129: #define VIOC_FHOPEN _VICEIOCTL(59)
! 130: #define VIOC_NNPFSDEBUG _VICEIOCTL(60)
! 131: #define VIOC_XFSDEBUG _VICEIOCTL(60)
! 132: #define VIOC_ARLADEBUG _VICEIOCTL(61)
! 133: #define VIOC_AVIATOR _VICEIOCTL(62)
! 134: #define VIOC_NNPFSDEBUG_PRINT _VICEIOCTL(63)
! 135: #define VIOC_CALCULATE_CACHE _VICEIOCTL(64)
! 136: #define VIOC_BREAKCALLBACK _VICEIOCTL(65)
! 137: #define VIOC_PREFETCHTAPE _VICEIOCTL(66)
! 138: #define VIOC_RESIDENCY_CMD _VICEIOCTL(67)
! 139:
! 140: /*
! 141: * GETCELLSTATUS flags
! 142: */
! 143:
! 144: #define CELLSTATUS_PRIMARY 0x01 /* this is the `primary' cell */
! 145: #define CELLSTATUS_SETUID 0x02 /* setuid honored for this cell */
! 146: #define CELLSTATUS_OBSOLETE_VL 0x04 /* uses obsolete VL servers */
! 147:
! 148: /*
! 149: * VIOCCONNECTMODE arguments
! 150: */
! 151:
! 152: #define CONNMODE_PROBE 0
! 153: #define CONNMODE_CONN 1
! 154: #define CONNMODE_FETCH 2
! 155: #define CONNMODE_DISCONN 3
! 156: #define CONNMODE_PARCONNECTED 4
! 157:
! 158: /*
! 159: * The struct for VIOC_FPRIOSTATUS
! 160: */
! 161:
! 162: #define FPRIO_MAX 100
! 163: #define FPRIO_MIN 0
! 164: #define FPRIO_DEFAULT FPRIO_MAX
! 165:
! 166: #define FPRIO_GET 0
! 167: #define FPRIO_SET 1
! 168: #define FPRIO_GETMAX 2
! 169: #define FPRIO_SETMAX 3
! 170:
! 171: struct vioc_fprio {
! 172: int16_t cmd;
! 173: int16_t prio;
! 174: int32_t Cell;
! 175: int32_t Volume;
! 176: int32_t Vnode;
! 177: int32_t Unique;
! 178: };
! 179:
! 180: /*
! 181: * Flags for VIOCCKSERV
! 182: */
! 183:
! 184: #define CKSERV_DONTPING 1
! 185: #define CKSERV_FSONLY 2
! 186:
! 187: #define CKSERV_MAXSERVERS 16 /* limitation of VIOCCKSERV number of
! 188: returned servers */
! 189:
! 190: struct ViceIoctl {
! 191: caddr_t in, out;
! 192: short in_size;
! 193: short out_size;
! 194: };
! 195:
! 196: struct ClearToken {
! 197: int32_t AuthHandle;
! 198: char HandShakeKey[8];
! 199: int32_t ViceId;
! 200: int32_t BeginTimestamp;
! 201: int32_t EndTimestamp;
! 202: };
! 203:
! 204: #endif
CVSweb