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