summaryrefslogtreecommitdiff
path: root/sys/nnpfs/nnpfs_message.h
diff options
context:
space:
mode:
Diffstat (limited to 'sys/nnpfs/nnpfs_message.h')
-rw-r--r--sys/nnpfs/nnpfs_message.h491
1 files changed, 0 insertions, 491 deletions
diff --git a/sys/nnpfs/nnpfs_message.h b/sys/nnpfs/nnpfs_message.h
deleted file mode 100644
index e07d92bd277..00000000000
--- a/sys/nnpfs/nnpfs_message.h
+++ /dev/null
@@ -1,491 +0,0 @@
-/*
- * Copyright (c) 1995 - 2002 Kungliga Tekniska Högskolan
- * (Royal Institute of Technology, Stockholm, Sweden).
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * 3. Neither the name of the Institute nor the names of its contributors
- * may be used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE INSTITUTE AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE INSTITUTE OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- */
-
-/* $arla: nnpfs_message.h,v 1.55 2002/09/27 09:43:21 lha Exp $ */
-
-#ifndef _xmsg_h
-#define _xmsg_h
-
-/* bump this for any incompatible changes */
-
-#define NNPFS_VERSION 18
-
-#include <nnpfs/nnpfs_attr.h>
-
-/* Temporary hack? */
-#define MAX_XMSG_SIZE (1024*64)
-
-typedef uint32_t nnpfs_pag_t;
-
-/*
- * The nnpfs_cred, if pag == 0, use uid
- */
-typedef struct nnpfs_cred {
- uint32_t uid;
- nnpfs_pag_t pag;
-} nnpfs_cred;
-
-typedef uint32_t nnpfs_locktype_t;
-typedef uint32_t nnpfs_lockid_t;
-
-
-#define MAXHANDLE (4*4)
-#define MAXRIGHTS 8
-
-#define NNPFS_ANONYMOUSID 32766
-
-typedef struct nnpfs_handle {
- uint32_t a, b, c, d;
-} nnpfs_handle;
-
-#define nnpfs_handle_eq(p, q) \
-((p)->a == (q)->a && (p)->b == (q)->b && (p)->c == (q)->c && (p)->d == (q)->d)
-
-/*
- * This should be the maximum size of any `file handle'
- */
-
-#define CACHEHANDLESIZE 80
-
-typedef struct nnpfs_cache_handle {
- u_char data[CACHEHANDLESIZE];
-} nnpfs_cache_handle;
-
-/*
- * Tokens that apply to nodes, open modes and attributes. Shared
- * reading might be used for exec and exclusive write for remove.
- */
-#define NNPFS_OPEN_MASK 0x000f
-#define NNPFS_OPEN_NR 0x0001 /* Normal reading, data might change */
-#define NNPFS_OPEN_SR 0x0002 /* Shared reading, data won't change */
-#define NNPFS_OPEN_NW 0x0004 /* Normal writing, multiple writers */
-#define NNPFS_OPEN_EW 0x0008 /* Exclusive writing (open really) */
-
-#define NNPFS_ATTR_MASK 0x0030
-#define NNPFS_ATTR_R 0x0010 /* Attributes valid */
-#define NNPFS_ATTR_W 0x0020 /* Attributes valid and modifiable */
-
-/*
- * Tokens that apply to node data.
- */
-#define NNPFS_DATA_MASK 0x00c0
-#define NNPFS_DATA_R 0x0040 /* Data valid */
-#define NNPFS_DATA_W 0x0080 /* Data valid and modifiable */
-#define NNPFS_LOCK_MASK 0x0300
-#define NNPFS_LOCK_R 0x0100 /* Data Shared locks */
-#define NNPFS_LOCK_W 0x0200 /* Data Exclusive locks */
-
-#define NNPFS_ATTR_VALID NNPFS_ATTR_R
-#define NNPFS_DATA_VALID NNPFS_DATA_W
-
-/* nnpfs_node.flags
- * The lower 16 bit flags are reserved for common nnpfs flags
- * The upper 16 bit flags are reserved for operating system dependent
- * flags.
- */
-
-#define NNPFS_DATA_DIRTY 0x0001
-#define NNPFS_ATTR_DIRTY 0x0002
-#define NNPFS_AFSDIR 0x0004
-#define NNPFS_STALE 0x0008
-#define NNPFS_XDELETED 0x0010
-#define NNPFS_VMOPEN 0x0020
-
-/*
- * Token match macros, NNPFS_TOKEN_GOT is depricated and
- * NNPFS_TOKEN_GOT_* should be used instead.
- */
-
-/* Are necessary tokens available? */
-#define NNPFS_TOKEN_GOT(xn, tok) ((xn)->tokens & (tok)) /* deprecated */
-#define NNPFS_TOKEN_GOT_ANY(xn, tok) ((xn)->tokens & (tok)) /* at least one must match */
-#define NNPFS_TOKEN_GOT_ALL(xn, tok) (((xn)->tokens & (tok)) == (tok)) /* all tokens must match */
-#define NNPFS_TOKEN_SET(xn, tok, mask) ((xn)->tokens |= ((tok) & (mask)))
-#define NNPFS_TOKEN_CLEAR(xn, tok, mask) ((xn)->tokens &= ~((tok) & (mask)))
-
-/* definitions for the rights fields */
-#define NNPFS_RIGHT_R 0x01 /* may read? */
-#define NNPFS_RIGHT_W 0x02 /* may write? */
-#define NNPFS_RIGHT_X 0x04 /* may execute? */
-
-/* Max name length passed in nnpfs messages */
-
-#define NNPFS_MAX_NAME 256
-#define NNPFS_MAX_SYMLINK_CONTENT 2048
-
-struct nnpfs_msg_node {
- nnpfs_handle handle;
- uint32_t tokens;
- uint32_t pad1;
- struct nnpfs_attr attr;
- nnpfs_pag_t id[MAXRIGHTS];
- u_char rights[MAXRIGHTS];
- u_char anonrights;
- uint16_t pad2;
- uint32_t pad3;
-};
-
-/*
- * Messages passed through the nnpfs_dev.
- */
-struct nnpfs_message_header {
- uint32_t size;
- uint32_t opcode;
- uint32_t sequence_num; /* Private */
- uint32_t pad1;
-};
-
-/*
- * Used by putdata flag
- */
-enum { NNPFS_READ = 0x01,
- NNPFS_WRITE = 0x02,
- NNPFS_NONBLOCK = 0x04,
- NNPFS_APPEND = 0x08,
- NNPFS_FSYNC = 0x10};
-
-/*
- * Flags for inactivenode
- */
-enum { NNPFS_NOREFS = 1, NNPFS_DELETE = 2 };
-
-/*
- * Flags for installdata
- */
-
-enum { NNPFS_ID_INVALID_DNLC = 0x01, NNPFS_ID_AFSDIR = 0x02,
- NNPFS_ID_HANDLE_VALID = 0x04 };
-
-/*
- * Defined message types and their opcodes.
- */
-#define NNPFS_MSG_VERSION 0
-#define NNPFS_MSG_WAKEUP 1
-
-#define NNPFS_MSG_GETROOT 2
-#define NNPFS_MSG_INSTALLROOT 3
-
-#define NNPFS_MSG_GETNODE 4
-#define NNPFS_MSG_INSTALLNODE 5
-
-#define NNPFS_MSG_GETATTR 6
-#define NNPFS_MSG_INSTALLATTR 7
-
-#define NNPFS_MSG_GETDATA 8
-#define NNPFS_MSG_INSTALLDATA 9
-
-#define NNPFS_MSG_INACTIVENODE 10
-#define NNPFS_MSG_INVALIDNODE 11
- /* XXX Must handle dropped/revoked tokens better */
-
-#define NNPFS_MSG_OPEN 12
-
-#define NNPFS_MSG_PUTDATA 13
-#define NNPFS_MSG_PUTATTR 14
-
-/* Directory manipulating messages. */
-#define NNPFS_MSG_CREATE 15
-#define NNPFS_MSG_MKDIR 16
-#define NNPFS_MSG_LINK 17
-#define NNPFS_MSG_SYMLINK 18
-
-#define NNPFS_MSG_REMOVE 19
-#define NNPFS_MSG_RMDIR 20
-
-#define NNPFS_MSG_RENAME 21
-
-#define NNPFS_MSG_PIOCTL 22
-#define NNPFS_MSG_WAKEUP_DATA 23
-
-#define NNPFS_MSG_UPDATEFID 24
-
-#define NNPFS_MSG_ADVLOCK 25
-
-#define NNPFS_MSG_GC_NODES 26
-
-#define NNPFS_MSG_COUNT 27
-
-/* NNPFS_MESSAGE_VERSION */
-struct nnpfs_message_version {
- struct nnpfs_message_header header;
- uint32_t ret;
-};
-
-/* NNPFS_MESSAGE_WAKEUP */
-struct nnpfs_message_wakeup {
- struct nnpfs_message_header header;
- uint32_t sleepers_sequence_num; /* Where to send wakeup */
- uint32_t error; /* Return value */
-};
-
-/* NNPFS_MESSAGE_GETROOT */
-struct nnpfs_message_getroot {
- struct nnpfs_message_header header;
- struct nnpfs_cred cred;
-};
-
-/* NNPFS_MESSAGE_INSTALLROOT */
-struct nnpfs_message_installroot {
- struct nnpfs_message_header header;
- struct nnpfs_msg_node node;
-};
-
-/* NNPFS_MESSAGE_GETNODE */
-struct nnpfs_message_getnode {
- struct nnpfs_message_header header;
- struct nnpfs_cred cred;
- nnpfs_handle parent_handle;
- char name[NNPFS_MAX_NAME];
-};
-
-/* NNPFS_MESSAGE_INSTALLNODE */
-struct nnpfs_message_installnode {
- struct nnpfs_message_header header;
- nnpfs_handle parent_handle;
- char name[NNPFS_MAX_NAME];
- struct nnpfs_msg_node node;
-};
-
-/* NNPFS_MESSAGE_GETATTR */
-struct nnpfs_message_getattr {
- struct nnpfs_message_header header;
- struct nnpfs_cred cred;
- nnpfs_handle handle;
-};
-
-/* NNPFS_MESSAGE_INSTALLATTR */
-struct nnpfs_message_installattr {
- struct nnpfs_message_header header;
- struct nnpfs_msg_node node;
-};
-
-/* NNPFS_MESSAGE_GETDATA */
-struct nnpfs_message_getdata {
- struct nnpfs_message_header header;
- struct nnpfs_cred cred;
- nnpfs_handle handle;
- uint32_t tokens;
- uint32_t pad1;
- uint32_t offset;
- uint32_t pad2;
-};
-
-/* NNPFS_MESSAGE_INSTALLDATA */
-struct nnpfs_message_installdata {
- struct nnpfs_message_header header;
- struct nnpfs_msg_node node;
- char cache_name[NNPFS_MAX_NAME];
- struct nnpfs_cache_handle cache_handle;
- uint32_t flag;
- uint32_t pad1;
- uint32_t offset;
- uint32_t pad2;
-};
-
-/* NNPFS_MSG_INACTIVENODE */
-struct nnpfs_message_inactivenode {
- struct nnpfs_message_header header;
- nnpfs_handle handle;
- uint32_t flag;
- uint32_t pad1;
-};
-
-/* NNPFS_MSG_INVALIDNODE */
-struct nnpfs_message_invalidnode {
- struct nnpfs_message_header header;
- nnpfs_handle handle;
-};
-
-/* NNPFS_MSG_OPEN */
-struct nnpfs_message_open {
- struct nnpfs_message_header header;
- struct nnpfs_cred cred;
- nnpfs_handle handle;
- uint32_t tokens;
- uint32_t pad1;
-};
-
-/* NNPFS_MSG_PUTDATA */
-struct nnpfs_message_putdata {
- struct nnpfs_message_header header;
- nnpfs_handle handle;
- struct nnpfs_attr attr; /* XXX ??? */
- struct nnpfs_cred cred;
- uint32_t flag;
- uint32_t pad1;
-};
-
-/* NNPFS_MSG_PUTATTR */
-struct nnpfs_message_putattr {
- struct nnpfs_message_header header;
- nnpfs_handle handle;
- struct nnpfs_attr attr;
- struct nnpfs_cred cred;
-};
-
-/* NNPFS_MSG_CREATE */
-struct nnpfs_message_create {
- struct nnpfs_message_header header;
- nnpfs_handle parent_handle;
- char name[NNPFS_MAX_NAME];
- struct nnpfs_attr attr;
- uint32_t mode;
- uint32_t pad1;
- struct nnpfs_cred cred;
-};
-
-/* NNPFS_MSG_MKDIR */
-struct nnpfs_message_mkdir {
- struct nnpfs_message_header header;
- nnpfs_handle parent_handle;
- char name[NNPFS_MAX_NAME];
- struct nnpfs_attr attr;
- struct nnpfs_cred cred;
-};
-
-/* NNPFS_MSG_LINK */
-struct nnpfs_message_link {
- struct nnpfs_message_header header;
- nnpfs_handle parent_handle;
- char name[NNPFS_MAX_NAME];
- nnpfs_handle from_handle;
- struct nnpfs_cred cred;
-};
-
-/* NNPFS_MSG_SYMLINK */
-struct nnpfs_message_symlink {
- struct nnpfs_message_header header;
- nnpfs_handle parent_handle;
- char name[NNPFS_MAX_NAME];
- char contents[NNPFS_MAX_SYMLINK_CONTENT];
- struct nnpfs_attr attr;
- struct nnpfs_cred cred;
-};
-
-/* NNPFS_MSG_REMOVE */
-struct nnpfs_message_remove {
- struct nnpfs_message_header header;
- nnpfs_handle parent_handle;
- char name[NNPFS_MAX_NAME];
- struct nnpfs_cred cred;
-};
-
-/* NNPFS_MSG_RMDIR */
-struct nnpfs_message_rmdir {
- struct nnpfs_message_header header;
- nnpfs_handle parent_handle;
- char name[NNPFS_MAX_NAME];
- struct nnpfs_cred cred;
-};
-
-/* NNPFS_MSG_RENAME */
-struct nnpfs_message_rename {
- struct nnpfs_message_header header;
- nnpfs_handle old_parent_handle;
- char old_name[NNPFS_MAX_NAME];
- nnpfs_handle new_parent_handle;
- char new_name[NNPFS_MAX_NAME];
- struct nnpfs_cred cred;
-};
-
-#define NNPFS_MSG_MAX_DATASIZE 2048
-
-/* NNPFS_MSG_PIOCTL */
-struct nnpfs_message_pioctl {
- struct nnpfs_message_header header;
- uint32_t opcode ;
- uint32_t pad1;
- nnpfs_cred cred;
- uint32_t insize;
- uint32_t outsize;
- char msg[NNPFS_MSG_MAX_DATASIZE];
- nnpfs_handle handle;
-};
-
-
-/* NNPFS_MESSAGE_WAKEUP_DATA */
-struct nnpfs_message_wakeup_data {
- struct nnpfs_message_header header;
- uint32_t sleepers_sequence_num; /* Where to send wakeup */
- uint32_t error; /* Return value */
- uint32_t len;
- uint32_t pad1;
- char msg[NNPFS_MSG_MAX_DATASIZE];
-};
-
-/* NNPFS_MESSAGE_UPDATEFID */
-struct nnpfs_message_updatefid {
- struct nnpfs_message_header header;
- nnpfs_handle old_handle;
- nnpfs_handle new_handle;
-};
-
-/* NNPFS_MESSAGE_ADVLOCK */
-struct nnpfs_message_advlock {
- struct nnpfs_message_header header;
- nnpfs_handle handle;
- struct nnpfs_cred cred;
- nnpfs_locktype_t locktype;
-#define NNPFS_WR_LOCK 1 /* Write lock */
-#define NNPFS_RD_LOCK 2 /* Read lock */
-#define NNPFS_UN_LOCK 3 /* Unlock */
-#define NNPFS_BR_LOCK 4 /* Break lock (inform that we don't want the lock) */
- nnpfs_lockid_t lockid;
-};
-
-/* NNPFS_MESSAGE_GC_NODES */
-struct nnpfs_message_gc_nodes {
- struct nnpfs_message_header header;
-#define NNPFS_GC_NODES_MAX_HANDLE 50
- uint32_t len;
- uint32_t pad1;
- nnpfs_handle handle[NNPFS_GC_NODES_MAX_HANDLE];
-};
-
-#if 0
-struct nnpfs_name {
- u_int16_t name;
- char name[1];
-};
-#endif
-
-struct nnpfs_message_bulkgetnode {
- struct nnpfs_message_header header;
- nnpfs_handle parent_handle;
- uint32_t flags;
-#define NNPFS_BGN_LAZY 0x1
- uint32_t numnodes;
- struct nnpfs_handle handles[1];
-};
-
-#endif /* _xmsg_h */