+enum lock_create_rc {
+ LOCK_CREATE_NO_LOCK_FILENAME,
+ LOCK_CREATE_FILE_NOT_FOUND, /* only if: lock_mode&LOCK_NB */
+ LOCK_CREATE_ALREADY_LOCKED, /* only if: lock_mode&LOCK_NB */
+ LOCK_CREATE_MYSELF_LOCKED, /* only for: lock_create() */
+ LOCK_CREATE_MYSELF_LOCKED_AND_FRESH, /* only for: lock_open_and_time_check() */
+ LOCK_CREATE_MYSELF_LOCKED_AND_STALE, /* only for: lock_open_and_time_check() */
+ };
+/* It will never create the lock file if: lock_mode&LOCK_NB */
+static enum lock_create_rc lock_create(int lock_mode)