Site Admin
Joined: 25 Nov 2003
Posts: 100
Posted: Sun May 13, 2007 6:43 am
This thread continues discussaion started at
http://www.osfree.org/forum/viewtopic.php?t=231
Well, may be just add extra data to end of structure? This is make logic easer.
Something like this:
Code: Select all
struct FileTable {
unsigned short ft_cfiles; /* # of entries in this table */
unsigned short ft_ldrseg; /* paragraph # where OS2LDR is loaded */
unsigned long ft_ldrlen; /* length of OS2LDR in bytes */
unsigned short ft_museg; /* paragraph # where microFSD is loaded */
unsigned long ft_mulen; /* length of microFSD in bytes */
unsigned short ft_mfsseg; /* paragraph # where miniFSD is loaded */
unsigned long ft_mfslen; /* length of miniFSD in bytes */
unsigned short ft_ripseg; /* paragraph # where RIPL data is loaded */
unsigned long ft_riplen; /* length of RIPL data in bytes */
/* The next four elements are pointers to microFSD entry points */
unsigned short (far *ft_muOpen)
(char far *pName, unsigned long far *pulFileSize);
unsigned long (far *ft_muRead)
(long loffseek, char far *pBuf, unsigned long cbBuf);
unsigned long (far *ft_muClose)(void);
unsigned long (far *ft_muTerminate)(void);
unsigned long magic
... extra data here...
};