/* * $Id: fsi_data.h,v 5.2.1.2 90/12/21 16:42:16 jsp Alpha $ * * Copyright (c) 1989 Jan-Simon Pendry * Copyright (c) 1989 Imperial College of Science, Technology & Medicine * Copyright (c) 1989 The Regents of the University of California. * All rights reserved. * * This code is derived from software contributed to Berkeley by * Jan-Simon Pendry at Imperial College, London. * * %sccs.include.redist.c% * * @(#)fsi_data.h 5.2 (Berkeley) 03/17/91 */ typedef struct auto_tree auto_tree; typedef struct automount automount; typedef struct dict dict; typedef struct dict_data dict_data; typedef struct dict_ent dict_ent; typedef struct disk_fs disk_fs; typedef struct ether_if ether_if; typedef struct fsmount fsmount; typedef struct host host; typedef struct ioloc ioloc; typedef struct mount mount; typedef struct qelem qelem; /* * Linked lists... */ struct qelem { qelem *q_forw; qelem *q_back; }; /* * Automount tree */ struct automount { qelem a_q; ioloc *a_ioloc; char *a_name; /* Automount key */ char *a_volname; /* Equivalent volume to be referenced */ char *a_symlink; /* Symlink representation */ qelem *a_mount; /* Tree representation */ dict_ent *a_mounted; }; /* * List of automount trees */ struct auto_tree { qelem t_q; ioloc *t_ioloc; char *t_defaults; qelem *t_mount; }; /* * A host */ struct host { qelem q; int h_mask; ioloc *h_ioloc; fsmount *h_netroot, *h_netswap; #define HF_HOST 0 char *h_hostname; /* The full name of the host */ char *h_lochost; /* The name of the host with local domains stripped */ char *h_hostpath; /* The filesystem path to the host (cf compute_hostpath) */ #define HF_ETHER 1 qelem *h_ether; #define HF_CONFIG 2 qelem *h_config; #define HF_ARCH 3 char *h_arch; #define HF_CLUSTER 4 char *h_cluster; #define HF_OS 5 char *h_os; qelem *h_disk_fs; qelem *h_mount; }; /* * An ethernet interface */ struct ether_if { qelem e_q; int e_mask; ioloc *e_ioloc; char *e_if; #define EF_INADDR 0 struct in_addr e_inaddr; #define EF_NETMASK 1 u_long e_netmask; #define EF_HWADDR 2 char *e_hwaddr; }; /* * Disk filesystem structure. * * If the DF_* numbers are changed * disk_fs_strings in analyze.c will * need updating. */ struct disk_fs { qelem d_q; int d_mask; ioloc *d_ioloc; host *d_host; char *d_mountpt; char *d_dev; #define DF_FSTYPE 0 char *d_fstype; #define DF_OPTS 1 char *d_opts; #define DF_DUMPSET 2 char *d_dumpset; #define DF_PASSNO 3 int d_passno; #define DF_FREQ 4 int d_freq; #define DF_MOUNT 5 qelem *d_mount; #define DF_LOG 6 char *d_log; }; #define DF_REQUIRED ((1<