Lines Matching +full:os +full:- +full:data +full:- +full:offset
1 .. SPDX-License-Identifier: GPL-2.0
4 Coda Kernel-Venus Interface
10 Coda -- this document describes the client kernel-Venus interface.
35 level filesystem code needed for the operation of the Coda file sys-
51 4.1 Data structures shared by the kernel and Venus
109 return codes, and other data related to the request. Optionally the
117 will be given with the format of the data they handle. We shall also
123 the parameters and returned data is very similar to the BSD VFS. This
124 leads to an almost natural environment for implementing a kernel-level
142 traps to the OS kernel. Examples of such calls trapping to the kernel
153 pre-processing, the VFS starts invoking exported routines in the FS
208 up processes. The Coda FS driver processes VFS- and pioctl-requests
212 appeared to be generally applicable. Data buffers are created by the
219 number, the size of the request and a pointer to the data in kernel
220 memory for the request. Since the data buffer is re-used to hold the
228 data buffer; its structure will be described in the next section.
232 the OS. This notification is done in the upcall context of the process
244 passed the contents of the data buffer. The getmsg_from_kernel call
257 processing its upcall with the data buffer replaced with the reply
283 processing. The VFS routine will now continue. (-- If a VFS request
286 to indicate points of no return have been passed.--)
291 ----------------------------
348 data structures shared by the kernel and Venus.
353 4.1. Data structures shared by the kernel and Venus
354 ----------------------------------------------------
432 --------------------------
442 the pioctl data buffers is a file in a Coda filesystem.
444 The kernel is handed a data packet of the form::
450 } data;
458 caddr_t in, out; /* Data to be transferred in, or out */
468 .. Note:: The data structures and code are a mess. We need to clean this up.
475 ----------
494 contains the ViceFid of the root of the Coda filesystem. If a non-zero
500 ------------
511 char *name; /* Place holder for data. */
549 -------------
593 -------------
616 in BSD style. Attributes not to be changed are set to -1, apart from
628 ------------
659 ------------
673 char *name; /* Place holder for data. */
722 -----------
734 char *name; /* Place holder for data. */
768 -----------
780 char *tname; /* Place holder for data. */
801 --------------
836 -------------
847 char *name; /* Place holder for data. */
868 ------------
879 char *name; /* Place holder for data. */
897 ---------------
916 caddr_t data; /* Place holder for data. */
923 identified by VFid into the buffer data. The buffer data must be able
931 -----------
975 ------------
1004 fetching the data in Venus vproc_vfscalls. This seems silly. If a
1005 file is being closed, the data in the container file is to be the new
1006 data. Here again the execp flag might be in play to create confusion:
1012 ------------
1026 char *data; /* Place holder for data. */
1036 caddr_t data; /* Place holder for data. */
1043 data arguments are filled as usual. flags is not used by Venus.
1053 -------------
1083 --------------
1095 int offset;
1105 caddr_t data; /* Place holder for data. */
1111 Read directory entries from VFid starting at offset and
1112 read at most count bytes. Returns the data in data and returns
1119 files. We will re-evaluate this during the directory revamp which is
1124 -----------
1128 instructs Venus to do an FSDB->Get.
1161 ------------
1189 ---------------
1215 -----------
1228 int offset;
1230 caddr_t data; /* Place holder for data. */
1241 caddr_t data; /* Place holder for data. */
1259 ---------------
1269 char *name; /* Place holder for data. */
1294 -----------------
1315 -----------------
1334 ---------------
1361 -------------
1377 This is an out-of-band upcall to Venus to inform Venus
1433 unless the downcall data could not be read into kernel memory.
1437 ----------------
1444 -----------
1462 ---------------
1468 struct cfs_purgeuser_out {/* CFS_PURGEUSER is a venus->kernel call */
1480 -------------
1486 struct cfs_zapfile_out { /* CFS_ZAPFILE is a venus->kernel call */
1506 ------------
1512 struct cfs_zapdir_out { /* CFS_ZAPDIR is a venus->kernel call */
1525 --------------
1532 struct cfs_zapvnode_out { /* CFS_ZAPVNODE is a venus->kernel call */
1545 --------------
1551 struct cfs_purgefid_out { /* CFS_PURGEFID is a venus->kernel call */
1565 -------------
1574 struct cfs_replace_out { /* cfs_replace is a venus->kernel call */
1595 maintains the following data:
1623 ------------------
1631 - Before opening, no messages can be placed.
1633 - Opening will remove any old messages still pending.
1635 - Close will notify any sleeping processes that their upcall cannot
1638 - Close will free all memory allocated by the message queues.