framework/c/inc/le_fileLock.h
Go to the documentation of this file.
00001 
00164  //--------------------------------------------------------------------------------------------------
00172 #ifndef LEGATO_FLOCK_INCLUDE_GUARD
00173 #define LEGATO_FLOCK_INCLUDE_GUARD
00174 
00175 
00176 //--------------------------------------------------------------------------------------------------
00183 //--------------------------------------------------------------------------------------------------
00184 typedef enum
00185 {
00186     LE_FLOCK_READ,              
00187     LE_FLOCK_WRITE,             
00188     LE_FLOCK_APPEND,            
00189 
00190     LE_FLOCK_READ_AND_WRITE,    
00191     LE_FLOCK_READ_AND_APPEND    
00192 
00193 }
00194 le_flock_AccessMode_t;
00195 
00196 
00197 //--------------------------------------------------------------------------------------------------
00201 //--------------------------------------------------------------------------------------------------
00202 typedef enum
00203 {
00204     LE_FLOCK_OPEN_IF_EXIST,     
00205     LE_FLOCK_REPLACE_IF_EXIST,  
00206     LE_FLOCK_FAIL_IF_EXIST      
00207 }
00208 le_flock_CreateMode_t;
00209 
00210 
00211 //--------------------------------------------------------------------------------------------------
00227 //--------------------------------------------------------------------------------------------------
00228 int le_flock_Open
00229 (
00230     const char* pathNamePtr,            
00231     le_flock_AccessMode_t accessMode    
00232 );
00233 
00234 
00235 //--------------------------------------------------------------------------------------------------
00262 //--------------------------------------------------------------------------------------------------
00263 int le_flock_Create
00264 (
00265     const char* pathNamePtr,            
00266     le_flock_AccessMode_t accessMode,   
00267     le_flock_CreateMode_t createMode,   
00268     mode_t permissions                  
00269 
00270 );
00271 
00272 
00273 //--------------------------------------------------------------------------------------------------
00290 //--------------------------------------------------------------------------------------------------
00291 int le_flock_TryOpen
00292 (
00293     const char* pathNamePtr,            
00294     le_flock_AccessMode_t accessMode    
00295 );
00296 
00297 
00298 //--------------------------------------------------------------------------------------------------
00326 //--------------------------------------------------------------------------------------------------
00327 int le_flock_TryCreate
00328 (
00329     const char* pathNamePtr,            
00330     le_flock_AccessMode_t accessMode,   
00331     le_flock_CreateMode_t createMode,   
00332     mode_t permissions                  
00333 
00334 );
00335 
00336 
00337 //--------------------------------------------------------------------------------------------------
00341 //--------------------------------------------------------------------------------------------------
00342 void le_flock_Close
00343 (
00344     int fd                              
00345 );
00346 
00347 
00348 //--------------------------------------------------------------------------------------------------
00367 //--------------------------------------------------------------------------------------------------
00368 FILE* le_flock_OpenStream
00369 (
00370     const char* pathNamePtr,            
00371     le_flock_AccessMode_t accessMode,   
00372     le_result_t* resultPtr              
00373 
00374 );
00375 
00376 
00377 //--------------------------------------------------------------------------------------------------
00406 //--------------------------------------------------------------------------------------------------
00407 FILE* le_flock_CreateStream
00408 (
00409     const char* pathNamePtr,            
00410     le_flock_AccessMode_t accessMode,   
00411     le_flock_CreateMode_t createMode,   
00412     mode_t permissions,                 
00413 
00414     le_result_t* resultPtr              
00415 
00416 );
00417 
00418 
00419 //--------------------------------------------------------------------------------------------------
00439 //--------------------------------------------------------------------------------------------------
00440 FILE* le_flock_TryOpenStream
00441 (
00442     const char* pathNamePtr,            
00443     le_flock_AccessMode_t accessMode,   
00444     le_result_t* resultPtr              
00445 );
00446 
00447 
00448 //--------------------------------------------------------------------------------------------------
00479 //--------------------------------------------------------------------------------------------------
00480 FILE* le_flock_TryCreateStream
00481 (
00482     const char* pathNamePtr,            
00483     le_flock_AccessMode_t accessMode,   
00484     le_flock_CreateMode_t createMode,   
00485     mode_t permissions,                 
00486 
00487     le_result_t* resultPtr              
00488 );
00489 
00490 
00491 //--------------------------------------------------------------------------------------------------
00495 //--------------------------------------------------------------------------------------------------
00496 void le_flock_CloseStream
00497 (
00498     FILE* fileStreamPtr
00499 );
00500 
00501 
00502 #endif //LEGATO_FLOCK_INCLUDE_GUARD
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Defines