Overview | Namespace | Class | Index | Help

LIST OF: | VALUES

::

## enum e_Anonymous__8

Summary
  Main goals and usage hints
Description
  The main intentention of this interface is to provide an universal portable and high performance access to file system issues on any operating system.

  There are a few main goals:

  1.The path specifications always has to be absolut. Any usage of relative path specifications is forbidden. Exceptions are `osl_getSystemPathFromFileURL`, `osl_getFileURLFromSystemPath` and `osl_getAbsoluteFileURL`. Most operating systems provide a "Current Directory" per process. This is the reason why relative path specifications can cause problems in multithreading environments.

  2.Proprietary notations of file paths are not supported. Every path notation must the file URL specification. File URLs must be encoded in UTF8 and after that escaped. Although the URL parameter is a unicode string, the must contain only ASCII characters

  3.The caller cannot get any information whether a file system is case sensitive, case preserving or not. The operating system implementation itself should determine if it can map case-insensitive paths. The case correct notation of a filename or file path is part of the "File Info". This case correct name can be used as a unique key if neccessary.

  4. Obtaining information about files or volumes is controlled by a bitmask which specifies which fields are of interest. Due to performance issues it is not recommended to obtain information which is not needed. But if the operating system provides more information anyway the implementation can set more fields on output as were requested. It is in the responsibility of the caller to decide if he uses this additional information or not. But he should do so to prevent further unnecessary calls if the information is already there.
  The input bitmask supports a flag `osl_FileStatus_Mask_Validate` which can be used to force retrieving uncached validated information. Setting this flag when calling `osl_getFileStatus` in combination with no other flag is a synonym for a "FileExists". This should only be done when processing a single file (f.e. before opening) and NEVER during enumeration of directory contents on any step of information processing. This would change the runtime behaviour from O(n) to O(n*n/2) on nearly every file system.
  On Windows NT reading the contents of an directory with 7000 entries and getting full information about every file only takes 0.6 seconds. Specifying the flag `osl_FileStatus_Mask_Validate` for each entry will increase the time to 180 seconds (!!!).

#### Values
osl_File_E_None |
osl_File_E_PERM |
osl_File_E_NOENT |
osl_File_E_SRCH |
osl_File_E_INTR |
osl_File_E_IO |
osl_File_E_NXIO |
osl_File_E_2BIG |
osl_File_E_NOEXEC |
osl_File_E_BADF |
osl_File_E_CHILD |
osl_File_E_AGAIN |
osl_File_E_NOMEM |
osl_File_E_ACCES |
osl_File_E_FAULT |
osl_File_E_BUSY |
osl_File_E_EXIST |
osl_File_E_XDEV |
osl_File_E_NODEV |
osl_File_E_NOTDIR |
osl_File_E_ISDIR |
osl_File_E_INVAL |
osl_File_E_NFILE |
osl_File_E_MFILE |
osl_File_E_NOTTY |
osl_File_E_FBIG |
osl_File_E_NOSPC |
osl_File_E_SPIPE |
osl_File_E_ROFS |
osl_File_E_MLINK |
osl_File_E_PIPE |
osl_File_E_DOM |
osl_File_E_RANGE |
osl_File_E_DEADLK |
osl_File_E_NAMETOOLONG |
osl_File_E_NOLCK |
osl_File_E_NOSYS |
osl_File_E_NOTEMPTY |
osl_File_E_LOOP |
osl_File_E_ILSEQ |
osl_File_E_NOLINK |
osl_File_E_MULTIHOP |
osl_File_E_USERS |
osl_File_E_OVERFLOW |
osl_File_E_NOTREADY |
osl_File_E_invalidError |
osl_File_E_TIMEDOUT |
osl_File_E_FORCE_EQUAL_SIZE |

Top of Page

Copyright © 2003 Sun Microsystems, Inc.