[Toc][Index]

Application File I/O Notes

  
File handle values of 0xFFFF do not represent actual file handles but are 
used throughout the file system interface to indicate specific actions to 
be taken by the file system. Usage of this special file handle where it is 
not expected by the file system will result in an error. 
Null pointers are defined to be 0x00000000 throughout this document. 
File systems that conform to the Standard Application Program Interface ( 
Standard API) may not necessarily support all the described information 
kept on a file basis. When this is the case, FSDs are required to return 
to the application a null (zero) value for the unsupported parameter. 
An FSD may support version levels of files. 
Date/Time Stamps   
The format of OS/2 dates are show below in Figure 1-5. 

+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
| Y | Y | Y | Y | Y | Y | Y | M | M | M | M | D | D | D | D | D |
| e | e | e | e | e | e | e | o | o | o | o | a | a | a | a | a |
| a | a | a | a | a | a | a | n | n | n | n | y | y | y | y | y |
| r | r | r | r | r | r | r | t | t | t | t |   |   |   |   |   |
|   |   |   |   |   |   |   | h | h | h | h |   |   |   |   |   |
+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
 15  14  13  12  11  10   9   8   7   6   5   4   3   2   1   0


Figure 1-5. OS/2 Date Format   
Bits Description   
15-9 YEARS - Number of years since 1980. 
8-5 MONTH - is the month of the year (1-12) 
4-0 DAY - is the day of the month (1-31) 
  
The format of OS/2 times are show below in Figure 1-6. 

+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
| H | H | H | H | H | M | M | M | M | M | M | 2 | 2 | 2 | 2 | 2 |
| o | o | o | o | o | i | i | i | i | i | i | | | | | | | | | | |
| u | u | u | u | u | n | n | n | n | n | n | S | S | S | S | S |
| r | r | r | r | r |   |   |   |   |   |   | e | e | e | e | e |
|   |   |   |   |   |   |   |   |   |   |   | c | c | c | c | c |
+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
 15  14  13  12  11  10   9   8   7   6   5   4   3   2   1   0


Figure 1-6. OS/2 Time Format   
Bits Description   
15-9 HOUR - is the hour of the day (0-23) 
8-5 MINUTE - is the minute of the hour (0-59) 
4-0 2-SECOND - is the second of the minute(in increments of 2) (0-29) 
  
I/O Error Codes   
Some file system functions may return device-driver/device-manager 
generated errors. These include: 
oERROR_WRITE_PROTECT - the media in the drive has write-protection enabled 
. 
oERROR_BAD_UNIT - there is a breakdown of internal consistency between 
OS/2 's mapping between logical drive and device driver. Internal Error. 
oERROR_NOT_READY - the device driver detected that the device is not 
ready. 
oERROR_BAD_COMMAND - there is a breakdown of internal consistency between 
OS/2 's idea of the capability of a device driver and that of the device 
driver. 
oERROR_CRC - the device driver has detected a CRC error. 
oERROR_BAD_LENGTH - there is a breakdown of internal consistency between 
OS/2 's idea of the length of a request packet and the device driver's 
idea of that length. Internal Error. 
oERROR_SEEK - the device driver detected an error during a seek operation. 

oERROR_NOT_DOS_DISK - the disk is not recognized as being OS/2 manageable. 

oERROR_SECTOR_NOT_FOUND - the device is unable to find the specific 
sector. 
oERROR_OUT_OF_PAPER - the device driver has detected that the printer is 
out of paper. 
oERROR_WRITE_FAULT - other write-specific error. 
oERROR_READ_FAULT - other read-specific error. 
oERROR_GEN_FAILURE - other error. 
  
There are also errors defined by and specific to the device drivers. These 
are indicated by either 0xFF or 0xFE in the high byte of the error code. 
Note:  Error codes listed in the function call descriptions in the OS/2 
Version 2.0 Control Program Programming Reference are not complete. They 
are errors most likely to be returned by the FS router and the FAT file 
system. Each FSD may generate errors based upon its own circumstances. 

Created using Inf-PHP v.2 (c) 2003 Yuri Prokushev
Created using Inf-HTML v.0.9b (c) 1995 Peter Childs