Message-Id: <3.0.1.32.19980126152727.007f4b50@yacker.xiotech.com> Date: Mon, 26 Jan 1998 15:27:27 -0600 To: djgpp-workers AT delorie DOT com From: Randy Maas Subject: invent inode docs Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="=====================_885871647==_" Precedence: bulk --=====================_885871647==_ Content-Type: text/plain; charset="us-ascii" Since I "needed" stat for a fsext and patched stat.c I found a very useful, but not quite documented (as far as I know) function that can help fill out a stat structure: _invent_inode. I swiped the excellent coment (written by Eli?) out of the source and modified it to be a txh file. It's attached. Randy --=====================_885871647==_ Content-Type: text/plain; charset="us-ascii" Content-Disposition: attachment; filename="iinode.txh" @node _invent_inode, file system @subheading Syntax @example ino_t _invent_inode(const char *name, unsigned time_stamp, unsigned long fsize) @end example @subheading Description This invents an inode number for those files which don't have valid DOS cluster number. These could be: @itemize @bullet @item devices like @file{/dev/nul} or file system extensions (@pxref{File System Extensions}) @item empty files which were not allocated disk space yet @item or files on networked drives, for which the redirector doesn't bring the cluster number. @end itemize To ensure proper operation of this function, you must call it with a filename in some canonical form. E.g., with a name returned by @code{truename()} (@pxref{truename}), or that returned by @code{_fixpath()} (@pxref{_fixpath}). The point here is that the entire program @emph{must} abide by these conventions through its operation, or else you risk getting different inode numbers for the same file. @subheading Return Value 0 on error, otherwise the invented inode number for the file --=====================_885871647==_ Content-Type: text/plain; charset="us-ascii" --=====================_885871647==_--