|
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 - download
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[];