next up previous contents
Next: 4.5 FiST Vnode Functions Up: 4. The FiST Language Previous: 4.3.1 Linkage Requirements for

   
4.4 FiST Vnode Attributes

Each vnode has a set of attributes that apply to it. FiST refers to vnode attributes by prefixing their standard names with a % character. Table tab-fist-attr-prim lists these common attributes.


 
Table: FiST Vnode Primary Attributes
Attribute Meaning
%type regular files, directories, block devices, character devices, symbolic links, Unix pipes, etc. Operations in FiST could apply to one or more of these vnode types (defined in system headers).
%mode a file has several mode bits that determine if that file can be read, written, or executed by the owner, members of the group, or all others. Also includes ``set'' bits (setuid, setgid, etc).
%owner The user ID who owns the file.
%group The group ID that owns the file.
%size The size of the file in bytes or blocks.
%time ``Creation,'' modification, and last access times of the file -- referred to as %ctime, %mtime, and %atime, respectively. Defaults to modification time.
%data The actual data blocks of the file.
%name The (path) name of the file. This is the first name that a vnode was opened with (in case a file has multiple names). Since usually Unix does not keep file names stored in the kernel, FiST will arrange for them to be stored in the private data of a vnode if this attribute is used.
%fid The ``File ID'' of the file (as computed by vn_fid).
%misc Miscellaneous information about a file that would rarely need to be modified.
 

FiST also includes attributes for certain universal Unix kernel concepts that might be useful in specifying file system operations. These are shown in Table tab-fist-attr-kernel.


 
Table: FiST Kernel Global State Attributes
Attribute Meaning
%cur_uid The user ID of the currently accessing process.
%cur_gid The group ID of the currently accessing process.
%cur_pid The process ID currently running.
%cur_time The current time in seconds since the Unix epoch.
%from_host The IP address of the host from where access to this vnode has been initiated. Use 127.0.0.1 for the local host, and 0.0.0.0 if the address could not be found.
 


next up previous contents
Next: 4.5 FiST Vnode Functions Up: 4. The FiST Language Previous: 4.3.1 Linkage Requirements for
Erez Zadok
1999-12-07