]> Kevux Git Server - fll/commitdiff
Update: Add more file type documentation comments and add macro_f_file_type_clear().
authorKevin Day <Kevin@kevux.org>
Fri, 21 Mar 2025 01:50:51 +0000 (20:50 -0500)
committerKevin Day <Kevin@kevux.org>
Fri, 21 Mar 2025 01:50:51 +0000 (20:50 -0500)
The file type documentation comments now have more details.

The `macro_f_file_type_clear()` provides a way to clear only the file type bits.

level_0/f_file/c/file/common.h

index 61e84c13195585140765a295890ef951f07d4b5b..b38d0945c0f9adce52e75e328890ff524f275cd9 100644 (file)
@@ -41,7 +41,7 @@ extern "C" {
  *
  * These type macros are of size 32-bit (int32_t).
  *
- * F_file_type_*:
+ * F_file_type_*_d:
  *   - block:     The file type is a block device.
  *   - character: The file type is a character device.
  *   - directory: The file type is a directory.
@@ -51,6 +51,20 @@ extern "C" {
  *   - regular:   The file type is a regular file.
  *   - socket:    The file type is a socket file.
  *   - unknown:   The file type is unknown (no type is set).
+ *
+ * macro_f_file_type_*:
+ *   - clear: Clear all of the file type bits.
+ *   - get:   Get only the file type bits.
+ *
+ * macro_f_file_type_is_*:
+ *   - block:     Is a block file type.
+ *   - character: Is a character file type.
+ *   - directory: Is a directory file type.
+ *   - fifo:      Is a FIFO file type.
+ *   - link:      Is a link file type.
+ *   - regular:   Is a regular file type.
+ *   - socket:    Is a socket file type.
+ *   - unknown:   Is an unknown file type.
  */
 #ifndef _di_f_file_type_d_
   #define F_file_type_block_d     S_IFBLK
@@ -62,6 +76,7 @@ extern "C" {
   #define F_file_type_regular_d   S_IFREG
   #define F_file_type_socket_d    S_IFSOCK
 
+  #define macro_f_file_type_clear(mode) (~F_file_type_mask_d & mode)
   #define macro_f_file_type_get(mode) (F_file_type_mask_d & mode)
 
   #define macro_f_file_type_is_block(mode)     (macro_f_file_type_get(mode) == F_file_type_block_d)