Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ inode(4) — GL2 W2.5

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

bellinode(4)

efsinode(4)

stat(2)

fs(4)

types(5)

INODE(4)  —  Silicon Graphics

NAME

inode − format of an inode

SYNOPSIS

#include <sys/param.h>
#include <sys/inode.h>

DESCRIPTION

An inode is the volume data structure used by a file system to implement the abstraction of a UNIX file.  (This is not to be confused with the in-core inode used by the UNIX kernel to manage files in use.)  The size and exact layout of an inode depends on the type of file system (e.g., Bell file system or Extent file system).  The size and layout of a Bell file system inode is described in bellinode(4). The size and layout of an Extent file system inode is described in efsinode(4).

Generally, an inode contains the type (e.g., plain file, directory, symbolic link, or device file) of the file; its owner, group, and public access permissions; the owner and group id numbers; its size in bytes; the number of links (directory references) to the file; and the times of last access and last modification to the file.  These times are given in seconds since the beginning of 1970 GMT.  In addition, there is a file system type-dependent representation of the list of data blocks claimed by the file. 

/*
 * This information occurs at the start of all inodes
 * independent of file system type.
 */
structicommon {
ushortic_mode;/* type and access permissions */
shortic_nlink;    /* number of links */
ushortic_uid;      /* owner’s user id number */
ushortic_gid;      /* group’s group id number */
off_tic_size;     /* number of bytes in file */
};
 /*
 * This information occurs somewhere in all inodes,
 * but its location varies according to file system type.
 */
struct itimes {
time_tic_atime;/* time of last access (to contents) */
time_tic_mtime;/* of last modification (of contents) */
time_tic_ctime;/* of last modification to inode */
};

The types ushort, off_t, and time_t are defined in types(5).

FILES

/usr/include/sys/param.h
/usr/include/sys/types.h
/usr/include/sys/inode.h
/usr/include/sys/stat.h

SEE ALSO

bellinode(4), efsinode(4), stat(2), fs(4), types(5). 

Version 2.5  —  April 22, 1987

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026