dir man page on IRIX

Man page or keyword search:  
man Server   31559 pages
apropos Keyword Search (all sections)
Output format
IRIX logo
[printable version]



DIR(4)									DIR(4)

NAME
     dir - format of EFS directories

SYNOPSIS
     #include <sys/fs/efs_dir.h>

DESCRIPTION
     A directory behaves exactly like an ordinary file, save that no user may
     write into a directory.  The fact that a file is a directory is indicated
     by a bit in the flag word of its i-node entry [see inode(4)].  The EFS
     directory format supports variable length names of up to 255 characters.

DIRECTORY BLOCKS
     Each EFS directory is segmented into directory blocks defined by the
     following data structure:

	  #define EFS_DIRBLK_HEADERSIZE 4
	  struct  efs_dirblk {
		  /* begin header */
		  ushort      magic;
		  unchar      firstused;
		  unchar      slots;
		  /* end header */

		  /* rest is space for efs_dent's */
		  unchar      space[EFS_DIRBSIZE - EFS_DIRBLK_HEADERSIZE];
	  };

     Each directory block is subdivided into three separate areas: a header,
     an array of entry offsets and an array of directory entries.  The system
     restricts directory entries to short boundaries and stores offsets in the
     directory block compacted by shifting them right by one.

     The header area contains a magic number to identify the block as being a
     directory block.  If the magic number is incorrect, the operating system
     will refuse to manipulate the directory, thus avoiding further
     corruption.

     The array of entry offsets immediately follows the header and is sized
     according to the directories contents and contains compacted offsets
     which point to each directory entry.  The number of entry offsets
     available is kept in slots.  The firstused field contains a compacted
     offset which positions the first byte of the directory entries.

     The space between the end of the entry array and the beginning of the
     directory entries (firstused) is free space which the system uses for
     allocating new directory entries and entry offsets.  The system keeps the
     free space in a directory block compacted by coalescing holes created by
     entry removal.  When a directory entry is removed, the system adjusts the
     entry offsets for all entries that move.  Also, the entry offset for the
     removed entry is zeroed.  If the removed entry was the last in the entry
     offset array, the number of slots is reduced.  Directory entries never

									Page 1

DIR(4)									DIR(4)

     change which entry offset they use.

DIRECTORY ENTRIES
     Directory entries have the following structure:

	  struct  efs_dent {
		  union {
			ulong l;
			ushorts[2];
		  } ud_inum;
		  unchar      d_namelen;
		  char	d_name[3];
	  };

     The d_name field is actually of variable size, depending upon the value
     contained in d_namelen.  The system pads out the directory entry to
     insure that it begins on a short boundary in the directory block.	The
     ud_inum field contains the entries inode number.

SEE ALSO
     fs(4), inode(4).

									Page 2

[top]

List of man pages available for IRIX

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net