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)

Some file system functions may return device-driver/device-manager generated errors. These include:

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.