|
|
DataMuseum.dkPresents historical artifacts from the history of: Regnecentalen RC-900 |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about Regnecentalen RC-900 Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - downloadIndex: T U d
Length: 3211 (0xc8b)
Types: TextFile
Notes: UNIX file
Names: »dosinode.h«
└─⟦a6ab2eb36⟧ Bits:30004042/kconfig3.imd SW95705I 386/ix Multi-user Release 1.2
└─⟦a6ab2eb36⟧ UNIX Filesystem
└─⟦this⟧ »kc/new/usr/include/sys/fs/dosinode.h«
/*
* Copyrighted as an unpublished work.
* (c) Copyright 1987 INTERACTIVE Systems Corporation
* All rights reserved.
*
* RESTRICTED RIGHTS
*
* These programs are supplied under a license. They may be used,
* disclosed, and/or copied only as permitted under such license
* agreement. Any copy must contain the above copyright notice and
* this restricted rights notice. Use, copying, and/or disclosure
* of the programs is strictly prohibited unless otherwise provided
* in the license agreement.
*
*/
#ident "@(#)dosinode.h 1.2 - 87/07/31"
#ident "@(#) (c) Copyright INTERACTIVE Systems Corporation 1987"
/*
* DOS time and date structure.
*/
struct dostime {
union {
struct { /* Format of time field */
ushort tf_2sec : 5, /* seconds >> 1 */
tf_min : 6, /* minutes */
tf_hour : 5; /* hours */
} dt_timef;
ushort dt_timeuf; /* Unformatted time */
} dt_time;
union {
struct { /* Format of date field */
ushort df_day : 5, /* day */
df_month: 4, /* month */
df_year : 7; /* 1980 - year */
} dt_datef;
ushort dt_dateuf; /* Unformatted date */
} dt_date;
};
/*
* DOS file system inode structure.
* Pointed to by i_fsptr in the generic inode.
*/
/* fix alignment! */
struct dosinode {
unchar dosi_flags; /* flags defined below */
unchar dosi_attrib; /* attributes */
ushort dosi_mode; /* file type and permissions */
struct dostime dosi_dostime; /* creation/update time & date */
time_t dosi_unixtime; /* creation/update unix time */
union {
struct {
ushort dosi_prevlc; /* previous logical cluster */
ushort dosi_prevpc; /* previous physical cluster */
} dosi_us;
struct dosinode *dosi_nxt; /* next free dosinode */
} dosi_u;
ushort dosi_start; /* starting cluster or sector */
ushort dosi_savedstart; /* saved starting cluster */
ushort dosi_lastclstr; /* last cluster in file */
ushort dosi_prealloc; /* number of pre-allocated clusters */
};
/* flags */
#define DOSIFREE 0 /* DOS inode table entry is free */
#define DOSIALLOC 1 /* DOS inode table entry is allocated */
/* DOS file attributes */
#define READONLY 0x01
#define HIDDEN 0x02
#define SYSTEM 0x04
#define VOLLABEL 0x08
#define SUBDIR 0x10
#define ARCHIVE 0x20
/* DOS update entry commands */
#define DUE_IFREE 001 /* Set DIRERASED char in entry */
#define DUE_RENAME 002 /* Rename entry by copying name */
#define DUE_INERASE 003 /* Set DIRINERASE char in entry */
#define DUE_GFREE 004 /* Copy entry and set DIRERASED */
#define DOS_LINK_REFCNT 2 /* Needed ref count for "link" */
#define dosi_prevlclst dosi_u.dosi_us.dosi_prevlc
#define dosi_prevpclst dosi_u.dosi_us.dosi_prevpc
#define dosi_next dosi_u.dosi_nxt
extern struct dosinode dosinode[];