|
|
DataMuseum.dkPresents historical artifacts from the history of: Regnecentalen RC-900 |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about Regnecentalen RC-900 Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - downloadIndex: T U m
Length: 5042 (0x13b2)
Types: TextFile
Notes: UNIX file
Names: »message.h«
└─⟦a6ab2eb36⟧ Bits:30004042/kconfig3.imd SW95705I 386/ix Multi-user Release 1.2
└─⟦a6ab2eb36⟧ UNIX Filesystem
└─⟦this⟧ »kc/new/usr/include/sys/message.h«
/* Copyright (c) 1984 AT&T */
/* All Rights Reserved */
/* THIS IS UNPUBLISHED PROPRIETARY SOURCE CODE OF AT&T */
/* The copyright notice above does not evidence any */
/* actual or intended publication of such source code. */
#ident "@(#)message.h 1.3"
/*
* network message definitions
*/
#define DATASIZE 1024 /* just for testing */
#define MAXSNAME 20 /* mach name size in mnt_data */
#define MAXSERVERS 25 /* maximum number of servers */
#define ANY (-1) /* waitfor a msg on ANY queue */
#define CFRD 0 /* Chow Fun receive descriptor */
#define SIGRDX 1 /* Special signal receive descriptor*/
#define RECOVER_RD 2 /* Recovery receive descriptor */
#define REQ_MSG 1 /* request message type */
#define RESP_MSG 2 /* response message type */
/* opcodes for remote service */
#define DUACCESS 33
#define DUSYSACCT 51
#define DUCHDIR 12
#define DUCHMOD 15
#define DUCHOWN 16
#define DUCHROOT 61
#define DUCLOSE 6
#define DUCREAT 8
#define DUEXEC 11
#define DUEXECE 59
#define DUFCNTL 62
#define DUFSTAT 28
#define DUFSTATFS 38
#define DUIOCTL 54
#define DULINK 9
#define DUMKNOD 14
#define DUMOUNT 21
#define DUOPEN 5
#define DUREAD 3
#define DUSEEK 19
#define DUSTAT 18
#define DUSTATFS 35
#define DUUMOUNT 22
#define DUUNLINK 10
#define DUUTIME 30
#define DUUTSSYS 57
#define DUWRITE 4
#define DUGETDENTS 81
#define DUMKDIR 80
#define DURMDIR 79
#define DUADVERTISE 70
#define DUUNADVERTISE 71
#define DURMOUNT 72 /* nami half of rmount */
#define DURUMOUNT 73
#define DUSRMOUNT 97 /* msg from ns to server */
#define DUSRUMOUNT 98
#define DUCOPYIN 106
#define DUCOPYOUT 107
#define DULINK1 109 /* second half of link */
#define DUCOREDUMP 111
#define DUWRITEI 112
#define DUREADI 113
#define DULBMOUNT 115 /* lbin mount (second namei in smount) */
#define DULBUMOUNT 116 /* lbin unmount */
#define DURSIGNAL 119
#define DUGDPACK 120
#define DUGDPNACK 121
#define DUSYNCTIME 122 /* date synchronization */
#define DUDOTDOT 124 /* server sends this back to client */
#define DULBIN 125 /* server sends this back to client */
#define DUFUMOUNT 126 /* forced unmount */
#define DUSENDUMSG 127 /* send message to remote user-level */
#define DUGETUMSG 128 /* get message from remote user-level */
#define DUWAKEUP 129 /* copyout and wakeup (test only) */
#define DUFWFD 130
#define DUIPUT 131
#define DUIUPDATE 132
#define DUUPDATE 133
/* to guarantee allignment for response and request structures, we
* create this
*/
struct common {
long opcode; /* what to do */
long sysid; /* where we came from */
long type; /* message type - request/response */
long pid; /* client pid */
long uid; /* client uid */
long gid; /* client gid */
long ftype;
long nlink;
long size;
long mntindex; /* mount index */
};
struct request {
struct common rq;
long rq_rrdir;
daddr_t rq_ulimit;
long rq_arg[4];
long rq_tmp[4]; /* for future use */
char rq_data[DATASIZE];
};
#define rq_opcode rq.opcode
#define rq_sysid rq.sysid
#define rq_type rq.type
#define rq_pid rq.pid
#define rq_uid rq.uid
#define rq_gid rq.gid
#define rq_mntindx rq.mntindex
#define rq_fmode rq_arg[3] /* user mode */
#define rq_mode rq_arg[3] /* file.h modes */
#define rq_newuid rq_arg[0]
#define rq_newgid rq_arg[1]
#define rq_bufptr rq_arg[0]
#define rq_len rq_arg[1]
#define rq_fstyp rq_arg[2]
#define rq_cmd rq_arg[0]
#define rq_ioarg rq_arg[1]
#define rq_dev rq_arg[1]
#define rq_crtmode rq_arg[1]
#define rq_count rq_arg[1]
#define rq_offset rq_arg[0]
#define rq_whence rq_arg[1]
#define rq_atime rq_arg[0]
#define rq_mtime rq_arg[1]
#define rq_fcntl rq_arg[1]
#define rq_sofar rq_arg[2] /* for copyin, see os/rmove.c */
#define rq_prewrite rq_tmp[0] /* for copyin, see os/rmove.c */
#define rq_base rq_arg[2] /* for readi/writei */
#define rq_newmntindx rq_arg[0] /* new mount index for lbin mount */
#define rq_cmask rq_arg[2]
#define rq_flag rq_arg[0] /* for rmount readwrite flag */
#define rq_srmntindx rq_arg[0] /* for forced unmount */
#define rq_fflag rq_arg[3]
#define rq_link rq_arg[0]
#define rq_foffset rq_arg[2]
#define rq_synctime rq_arg[2]
struct response {
struct common rp;
long rp_errno;
long rp_bp;
long rp_rval; /* general purpose integer */
long rp_arg[4];
long rp_tmp[3]; /* for future use */
char rp_data[DATASIZE];
};
#define rp_opcode rp.opcode
#define rp_sysid rp.sysid
#define rp_type rp.type
#define rp_pid rp.pid
#define rp_uid rp.uid
#define rp_gid rp.gid
#define rp_mntindx rp.mntindex
#define rp_size rp.size
#define rp_nlink rp.nlink
#define rp_ftype rp.ftype
#define rp_count rp_arg[0]
#define rp_isize rp_arg[1]
#define rp_bufptr rp_arg[2]
#define rp_copysync rp_arg[1]
#define rp_mode rp_arg[2]
#define rp_sig rp_arg[3]
#define rp_subyte rp_tmp[0]
#define rp_offset rp_tmp[1]
#define rp_synctime rp_arg[2]
/* mntdata is used to store the uname and resname in rq_data
* Later, it may also store domain name.
*/
struct mntdata {
char md_uname[MAXSNAME];
char md_resname[DATASIZE-MAXSNAME];
};