]> Kevux Git Server - fll/commitdiff
Update: documentation cleanups, fix observed problems, retun F_data_not without error bit
authorKevin Day <thekevinday@gmail.com>
Mon, 8 Jun 2020 04:34:49 +0000 (23:34 -0500)
committerKevin Day <thekevinday@gmail.com>
Mon, 8 Jun 2020 04:34:49 +0000 (23:34 -0500)
Organize the return codes.
Fix any probles in the commend documentation that I happened to notice.
This is not complete, there will be follow up commits to address more cleanups.

I noticed that there were some public directory functions incorrectly have 'private_' in their name.

The conversion functions should no longer consider no data an error.
Just report that there was nothing to do.

22 files changed:
level_0/f_conversion/c/conversion.c
level_0/f_conversion/c/conversion.h
level_0/f_directory/c/directory.c
level_0/f_directory/c/directory.h
level_0/f_environment/c/environment.h
level_0/f_environment/c/private-environment.h
level_0/f_file/c/file.h
level_0/f_file/c/private-file.c
level_0/f_file/c/private-file.h
level_0/f_path/c/path.h
level_0/f_path/c/path_fll.h
level_0/f_pipe/c/pipe.h
level_0/f_utf/c/private-utf.h
level_0/f_utf/c/utf.h
level_1/fl_color/c/color.h
level_1/fl_console/c/console.c
level_1/fl_console/c/console.h
level_1/fl_directory/c/directory.h
level_1/fl_directory/c/private-directory.h
level_1/fl_fss/c/fss.c
level_1/fl_fss/c/fss.h
level_3/fake/c/private-build.c

index 8345128b936a0f40da45342e64224346ff377294..963abe9c45a31bf04af9e499b589211560931a72 100644 (file)
@@ -213,6 +213,10 @@ extern "C" {
       if (range.stop < range.start) return F_status_set_error(F_parameter);
     #endif // _di_level_0_parameter_checking_
 
+    if (string[0] == 0) {
+      return F_data_not;
+    }
+
     uint8_t scale = 0;
     f_number_unsigned digit = 0;
     f_number_unsigned converted = 0;
@@ -250,7 +254,7 @@ extern "C" {
           }
         }
       }
-      else if (string[i] != '\0') {
+      else if (string[i] != 0) {
         return F_status_set_error(F_number);
       }
     } // for
@@ -269,6 +273,10 @@ extern "C" {
       if (range.stop < range.start) return F_status_set_error(F_parameter);
     #endif // _di_level_0_parameter_checking_
 
+    if (string[0] == 0) {
+      return F_data_not;
+    }
+
     uint8_t scale = 0;
     f_number_unsigned digit = 0;
     f_number_unsigned converted = 0;
@@ -290,7 +298,7 @@ extern "C" {
           converted = digit;
         }
       }
-      else if (string[i] != '\0') {
+      else if (string[i] != 0) {
         return F_status_set_error(F_number);
       }
     } // for
@@ -309,6 +317,10 @@ extern "C" {
       if (range.stop < range.start) return F_status_set_error(F_parameter);
     #endif // _di_level_0_parameter_checking_
 
+    if (string[0] == 0) {
+      return F_data_not;
+    }
+
     uint8_t scale = 0;
     f_number_unsigned digit = 0;
     f_number_unsigned converted = 0;
@@ -351,7 +363,7 @@ extern "C" {
           }
         }
       }
-      else if (string[i] != '\0') {
+      else if (string[i] != 0) {
         return F_status_set_error(F_number);
       }
     } // for
@@ -370,6 +382,10 @@ extern "C" {
       if (range.stop < range.start) return F_status_set_error(F_parameter);
     #endif // _di_level_0_parameter_checking_
 
+    if (string[0] == 0) {
+      return F_data_not;
+    }
+
     uint8_t scale = 0;
     f_number_unsigned digit = 0;
     f_number_unsigned converted = 0;
@@ -394,7 +410,7 @@ extern "C" {
           converted = digit;
         }
       }
-      else if (string[i] != '\0') {
+      else if (string[i] != 0) {
         return F_status_set_error(F_number);
       }
     } // for
@@ -413,6 +429,10 @@ extern "C" {
       if (range.stop < range.start) return F_status_set_error(F_parameter);
     #endif // _di_level_0_parameter_checking_
 
+    if (string[0] == 0) {
+      return F_data_not;
+    }
+
     uint8_t scale = 0;
     f_number_unsigned digit = 0;
     f_number_unsigned converted = 0;
@@ -455,7 +475,7 @@ extern "C" {
           }
         }
       }
-      else if (string[i] != '\0') {
+      else if (string[i] != 0) {
         return F_status_set_error(F_number);
       }
     } // for
@@ -474,6 +494,10 @@ extern "C" {
       if (range.stop < range.start) return F_status_set_error(F_parameter);
     #endif // _di_level_0_parameter_checking_
 
+    if (string[0] == 0) {
+      return F_data_not;
+    }
+
     uint8_t scale = 0;
     f_number_unsigned digit = 0;
     f_number_unsigned converted = 0;
@@ -498,7 +522,7 @@ extern "C" {
           converted = digit;
         }
       }
-      else if (string[i] != '\0') {
+      else if (string[i] != 0) {
         return F_status_set_error(F_number);
       }
     } // for
@@ -517,6 +541,10 @@ extern "C" {
       if (range.stop < range.start) return F_status_set_error(F_parameter);
     #endif // _di_level_0_parameter_checking_
 
+    if (string[0] == 0) {
+      return F_data_not;
+    }
+
     uint8_t scale = 0;
     f_number_unsigned digit = 0;
     f_number_unsigned converted = 0;
@@ -559,7 +587,7 @@ extern "C" {
           }
         }
       }
-      else if (string[i] != '\0') {
+      else if (string[i] != 0) {
         return F_status_set_error(F_number);
       }
     } // for
@@ -578,6 +606,10 @@ extern "C" {
       if (range.stop < range.start) return F_status_set_error(F_parameter);
     #endif // _di_level_0_parameter_checking_
 
+    if (string[0] == 0) {
+      return F_data_not;
+    }
+
     uint8_t scale = 0;
     f_number_unsigned digit = 0;
     f_number_unsigned converted = 0;
@@ -602,7 +634,7 @@ extern "C" {
           converted = digit;
         }
       }
-      else if (string[i] != '\0') {
+      else if (string[i] != 0) {
         return F_status_set_error(F_number);
       }
     } // for
@@ -621,6 +653,10 @@ extern "C" {
       if (range.stop < range.start) return F_status_set_error(F_parameter);
     #endif // _di_level_0_parameter_checking_
 
+    if (string[0] == 0) {
+      return F_data_not;
+    }
+
     uint8_t scale = 0;
     f_number_unsigned digit = 0;
     f_number_unsigned converted = 0;
@@ -663,7 +699,7 @@ extern "C" {
           }
         }
       }
-      else if (string[i] != '\0') {
+      else if (string[i] != 0) {
         return F_status_set_error(F_number);
       }
     } // for
@@ -682,6 +718,10 @@ extern "C" {
       if (range.stop < range.start) return F_status_set_error(F_parameter);
     #endif // _di_level_0_parameter_checking_
 
+    if (string[0] == 0) {
+      return F_data_not;
+    }
+
     uint8_t scale = 0;
     f_number_unsigned digit = 0;
     f_number_unsigned converted = 0;
@@ -706,7 +746,7 @@ extern "C" {
           converted = digit;
         }
       }
-      else if (string[i] != '\0') {
+      else if (string[i] != 0) {
         return F_status_set_error(F_number);
       }
     } // for
@@ -725,8 +765,8 @@ extern "C" {
       if (range.stop < range.start) return F_status_set_error(F_parameter);
     #endif // _di_level_0_parameter_checking_
 
-    if (string[0] == '\0') {
-      return F_status_set_error(F_data_not);
+    if (string[0] == 0) {
+      return F_data_not;
     }
 
     uint8_t width = 0;
@@ -874,8 +914,8 @@ extern "C" {
       if (range.stop < range.start) return F_status_set_error(F_parameter);
     #endif // _di_level_0_parameter_checking_
 
-    if (string[0] == '\0') {
-      return F_status_set_error(F_data_not);
+    if (string[0] == 0) {
+      return F_data_not;
     }
 
     uint8_t width = 0;
index f090f7230c35e696d15cb1a58922b29b883040c6..d77a3903da2a3a11dc00a7d6f134c195719dc6c7 100644 (file)
@@ -261,10 +261,11 @@ extern "C" {
  *
  * @return
  *   F_none if the binary string was converted to an signed long.
+ *   F_data_not if string starts with a null (length is 0).
  *   F_number (with error bit) if no conversion was made due to non-binary values being found.
- *   F_parameter (with error bit) if a parameter is invalid.
  *   F_number_overflow (with error bit) on integer overflow.
  *   F_number_underflow (with error bit) on integer underflow.
+ *   F_parameter (with error bit) if a parameter is invalid.
  */
 #ifndef _di_f_conversion_string_to_binary_signed_
   extern f_return_status f_conversion_string_to_binary_signed(const f_string string, f_number_signed *number, const f_string_range range, const bool negative);
@@ -287,9 +288,10 @@ extern "C" {
  *
  * @return
  *   F_none if the binary string was converted to an unsigned long.
+ *   F_data_not if string starts with a null (length is 0).
  *   F_number (with error bit) if no conversion was made due to non-binary values being found.
- *   F_parameter (with error bit) if a parameter is invalid.
  *   F_number_overflow (with error bit) on integer overflow.
+ *   F_parameter (with error bit) if a parameter is invalid.
  */
 #ifndef _di_f_conversion_string_to_binary_unsigned_
   extern f_return_status f_conversion_string_to_binary_unsigned(const f_string string, f_number_unsigned *number, const f_string_range range);
@@ -314,10 +316,11 @@ extern "C" {
  *
  * @return
  *   F_none if the decimal string was converted to an signed long.
+ *   F_data_not if string starts with a null (length is 0).
  *   F_number (with error bit) if no conversion was made due to non-decimal values being found.
- *   F_parameter (with error bit) if a parameter is invalid.
  *   F_number_overflow (with error bit) on integer overflow.
  *   F_number_underflow (with error bit) on integer underflow.
+ *   F_parameter (with error bit) if a parameter is invalid.
  */
 #ifndef _di_f_conversion_string_to_decimal_signed_
   extern f_return_status f_conversion_string_to_decimal_signed(const f_string string, f_number_signed *number, const f_string_range range, const bool negative);
@@ -340,9 +343,10 @@ extern "C" {
  *
  * @return
  *   F_none if the decimal string was converted to an unsigned long.
+ *   F_data_not if string starts with a null (length is 0).
  *   F_number (with error bit) if no conversion was made due to non-decimal values being found.
- *   F_parameter (with error bit) if a parameter is invalid.
  *   F_number_overflow (with error bit) on integer overflow.
+ *   F_parameter (with error bit) if a parameter is invalid.
  */
 #ifndef _di_f_conversion_string_to_decimal_unsigned_
   extern f_return_status f_conversion_string_to_decimal_unsigned(const f_string string, f_number_unsigned *number, const f_string_range range);
@@ -367,10 +371,11 @@ extern "C" {
  *
  * @return
  *   F_none if the duodecimal string was converted to an signed long.
+ *   F_data_not if string starts with a null (length is 0).
  *   F_number (with error bit) if no conversion was made due to non-duodecimal values being found.
- *   F_parameter (with error bit) if a parameter is invalid.
  *   F_number_overflow (with error bit) on integer overflow.
  *   F_number_underflow (with error bit) on integer underflow.
+ *   F_parameter (with error bit) if a parameter is invalid.
  */
 #ifndef _di_f_conversion_string_to_duodecimal_signed_
   extern f_return_status f_conversion_string_to_duodecimal_signed(const f_string string, f_number_signed *number, const f_string_range range, const bool negative);
@@ -393,9 +398,10 @@ extern "C" {
  *
  * @return
  *   F_none if the duodecimal string was converted to an unsigned long.
+ *   F_data_not if string starts with a null (length is 0).
  *   F_number (with error bit) if no conversion was made due to non-duodecimal values being found.
- *   F_parameter (with error bit) if a parameter is invalid.
  *   F_number_overflow (with error bit) on integer overflow.
+ *   F_parameter (with error bit) if a parameter is invalid.
  */
 #ifndef _di_f_conversion_string_to_duodecimal_unsigned_
   extern f_return_status f_conversion_string_to_duodecimal_unsigned(const f_string string, f_number_unsigned *number, const f_string_range range);
@@ -420,10 +426,11 @@ extern "C" {
  *
  * @return
  *   F_none if the hexidecimal string was converted to an signed long.
+ *   F_data_not if string starts with a null (length is 0).
  *   F_number (with error bit) if no conversion was made due to non-hexidecimal values being found.
- *   F_parameter (with error bit) if a parameter is invalid.
  *   F_number_overflow (with error bit) on integer overflow.
  *   F_number_underflow (with error bit) on integer underflow.
+ *   F_parameter (with error bit) if a parameter is invalid.
  */
 #ifndef _di_f_conversion_string_to_hexidecimal_signed_
   extern f_return_status f_conversion_string_to_hexidecimal_signed(const f_string string, f_number_signed *number, const f_string_range range, const bool negative);
@@ -446,9 +453,10 @@ extern "C" {
  *
  * @return
  *   F_none if the hexidecimal string was converted to an unsigned long.
+ *   F_data_not if string starts with a null (length is 0).
  *   F_number (with error bit) if no conversion was made due to non-hexidecimal values being found.
- *   F_parameter (with error bit) if a parameter is invalid.
  *   F_number_overflow (with error bit) on integer overflow.
+ *   F_parameter (with error bit) if a parameter is invalid.
  */
 #ifndef _di_f_conversion_string_to_hexidecimal_unsigned_
   extern f_return_status f_conversion_string_to_hexidecimal_unsigned(const f_string string, f_number_unsigned *number, const f_string_range range);
@@ -473,9 +481,10 @@ extern "C" {
  *
  * @return
  *   F_none if the octal string was converted to an signed long.
+ *   F_data_not if string starts with a null (length is 0).
  *   F_number (with error bit) if no conversion was made due to non-octal values being found.
- *   F_parameter (with error bit) if a parameter is invalid.
  *   F_number_overflow (with error bit) on integer overflow.
+ *   F_parameter (with error bit) if a parameter is invalid.
  */
 #ifndef _di_f_conversion_string_to_octal_signed_
   extern f_return_status f_conversion_string_to_octal_signed(const f_string string, f_number_signed *number, const f_string_range range, const bool negative);
@@ -498,9 +507,10 @@ extern "C" {
  *
  * @return
  *   F_none if the octal string was converted to an unsigned long.
+ *   F_data_not if string starts with a null (length is 0).
  *   F_number (with error bit) if no conversion was made due to non-octal values being found.
- *   F_parameter (with error bit) if a parameter is invalid.
  *   F_number_overflow (with error bit) on integer overflow.
+ *   F_parameter (with error bit) if a parameter is invalid.
  */
 #ifndef _di_f_conversion_string_to_octal_unsigned_
   extern f_return_status f_conversion_string_to_octal_unsigned(const f_string string, f_number_unsigned *number, const f_string_range range);
@@ -535,12 +545,12 @@ extern "C" {
  *
  * @return
  *   F_none on success.
- *   F_data_not (with error bit) if string starts with a null (length is 0).
- *   F_parameter (with error bit) if a parameter is invalid.
+ *   F_data_not if string starts with a null (length is 0).
+ *   F_incomplete_utf (with error bit) if an incomplete UTF-8 fragment is found.
  *   F_number (with error bit) if parameter is not a number.
  *   F_number_overflow (with error bit) on integer overflow.
  *   F_number_underflow (with error bit) on integer underflow.
- *   F_incomplete_utf (with error bit) if an incomplete UTF-8 fragment is found.
+ *   F_parameter (with error bit) if a parameter is invalid.
  *
  * @see strtoll()
  */
@@ -578,13 +588,13 @@ extern "C" {
  *
  * @return
  *   F_none on success.
- *   F_data_not (with error bit) if string starts with a null (length is 0).
- *   F_parameter (with error bit) if a parameter is invalid.
+ *   F_data_not if string starts with a null (length is 0).
+ *   F_incomplete_utf (with error bit) if an incomplete UTF-8 fragment is found.
  *   F_number (with error bit) if parameter is not a number.
  *   F_number_negative (with error bit) on negative value.
  *   F_number_positive (with error bit) on positive value (has a +, such as '+1', when only '1' is valid here).
  *   F_number_overflow (with error bit) on integer overflow.
- *   F_incomplete_utf (with error bit) if an incomplete UTF-8 fragment is found.
+ *   F_parameter (with error bit) if a parameter is invalid.
  *
  * @see strtoull()
  */
index e90d673b0e23cfedd3b41ac12ee52288a3adba3e..5a10089108537999548d179ac595114296d5d746 100644 (file)
@@ -12,11 +12,11 @@ extern "C" {
       if (errno == EACCES) return F_status_set_error(F_access_denied);
       if (errno == EDQUOT) return F_status_set_error(F_filesystem_quota_block);
       if (errno == EEXIST) return F_status_set_error(F_file_found);
-      if (errno == ENAMETOOLONG) return F_status_set_error(F_name);
       if (errno == EFAULT) return F_status_set_error(F_buffer);
       if (errno == EINVAL) return F_status_set_error(F_parameter);
       if (errno == ELOOP) return F_status_set_error(F_loop);
       if (errno == EMLINK) return F_status_set_error(F_directory_link_max);
+      if (errno == ENAMETOOLONG) return F_status_set_error(F_name);
       if (errno == ENOENT) return F_status_set_error(F_file_found_not);
       if (errno == ENOMEM) return F_status_set_error(F_memory_out);
       if (errno == ENOSPC) return F_status_set_error(F_space_not);
@@ -39,20 +39,20 @@ extern "C" {
 
     if (mkdirat(at_id, path, mode) < 0) {
       if (errno == EACCES) return F_status_set_error(F_access_denied);
+      if (errno == EBADF) return F_status_set_error(F_directory_descriptor);
       if (errno == EDQUOT) return F_status_set_error(F_filesystem_quota_block);
       if (errno == EEXIST) return F_status_set_error(F_file_found);
-      if (errno == ENAMETOOLONG) return F_status_set_error(F_name);
       if (errno == EFAULT) return F_status_set_error(F_buffer);
       if (errno == EINVAL) return F_status_set_error(F_parameter);
       if (errno == ELOOP) return F_status_set_error(F_loop);
       if (errno == EMLINK) return F_status_set_error(F_directory_link_max);
+      if (errno == ENAMETOOLONG) return F_status_set_error(F_name);
       if (errno == ENOENT) return F_status_set_error(F_file_found_not);
       if (errno == ENOMEM) return F_status_set_error(F_memory_out);
       if (errno == ENOSPC) return F_status_set_error(F_space_not);
       if (errno == ENOTDIR) return F_status_set_error(F_directory);
       if (errno == EPERM) return F_status_set_error(F_prohibited);
       if (errno == EROFS) return F_status_set_error(F_read_only);
-      if (errno == EBADF) return F_status_set_error(F_directory_descriptor);
 
       return F_status_set_error(F_failure);
     }
@@ -68,14 +68,14 @@ extern "C" {
     memset(&file_stat, 0, sizeof(struct stat));
 
     if (stat(path, &file_stat) < 0) {
-      if (errno == ENAMETOOLONG) return F_status_set_error(F_name);
+      if (errno == EACCES) return F_status_set_error(F_access_denied);
       if (errno == EFAULT) return F_status_set_error(F_buffer);
+      if (errno == ELOOP) return F_status_set_error(F_loop);
+      if (errno == ENAMETOOLONG) return F_status_set_error(F_name);
+      if (errno == ENOENT) return F_file_found_not;
       if (errno == ENOMEM) return F_status_set_error(F_memory_out);
-      if (errno == EOVERFLOW) return F_status_set_error(F_number_overflow);
       if (errno == ENOTDIR) return F_false;
-      if (errno == ENOENT) return F_file_found_not;
-      if (errno == EACCES) return F_status_set_error(F_access_denied);
-      if (errno == ELOOP) return F_status_set_error(F_loop);
+      if (errno == EOVERFLOW) return F_status_set_error(F_number_overflow);
 
       return F_status_set_error(F_file_stat);
     }
@@ -93,15 +93,15 @@ extern "C" {
     memset(&file_stat, 0, sizeof(struct stat));
 
     if (fstatat(at_id, path, &file_stat, flag) < 0) {
-      if (errno == ENAMETOOLONG) return F_status_set_error(F_name);
+      if (errno == EACCES) return F_status_set_error(F_access_denied);
+      if (errno == EBADF) return F_status_set_error(F_directory_descriptor);
       if (errno == EFAULT) return F_status_set_error(F_buffer);
+      if (errno == ELOOP) return F_status_set_error(F_loop);
+      if (errno == ENAMETOOLONG) return F_status_set_error(F_name);
+      if (errno == ENOENT) return F_file_found_not;
       if (errno == ENOMEM) return F_status_set_error(F_memory_out);
-      if (errno == EOVERFLOW) return F_status_set_error(F_number_overflow);
       if (errno == ENOTDIR) return F_false;
-      if (errno == ENOENT) return F_file_found_not;
-      if (errno == EACCES) return F_status_set_error(F_access_denied);
-      if (errno == ELOOP) return F_status_set_error(F_loop);
-      if (errno == EBADF) return F_status_set_error(F_directory_descriptor);
+      if (errno == EOVERFLOW) return F_status_set_error(F_number_overflow);
 
       return F_status_set_error(F_file_stat);
     }
@@ -119,13 +119,13 @@ extern "C" {
     memset(&file_stat, AT_SYMLINK_NOFOLLOW, sizeof(struct stat));
 
     if (stat(path, &file_stat) < 0) {
-      if (errno == ENAMETOOLONG) return F_status_set_error(F_name);
+      if (errno == EACCES) return F_status_set_error(F_access_denied);
       if (errno == EFAULT) return F_status_set_error(F_buffer);
+      if (errno == ENAMETOOLONG) return F_status_set_error(F_name);
+      if (errno == ENOENT) return F_file_found_not;
       if (errno == ENOMEM) return F_status_set_error(F_memory_out);
-      if (errno == EOVERFLOW) return F_status_set_error(F_number_overflow);
       if (errno == ENOTDIR) return F_false;
-      if (errno == ENOENT) return F_file_found_not;
-      if (errno == EACCES) return F_status_set_error(F_access_denied);
+      if (errno == EOVERFLOW) return F_status_set_error(F_number_overflow);
       if (errno == ELOOP) return F_status_set_error(F_loop);
 
       return F_status_set_error(F_file_stat);
@@ -144,15 +144,15 @@ extern "C" {
     memset(&file_stat, 0, sizeof(struct stat));
 
     if (fstatat(at_id, path, &file_stat, flag) < 0) {
-      if (errno == ENAMETOOLONG) return F_status_set_error(F_name);
+      if (errno == EACCES) return F_status_set_error(F_access_denied);
+      if (errno == EBADF) return F_status_set_error(F_directory_descriptor);
       if (errno == EFAULT) return F_status_set_error(F_buffer);
+      if (errno == ENAMETOOLONG) return F_status_set_error(F_name);
+      if (errno == ENOENT) return F_file_found_not;
       if (errno == ENOMEM) return F_status_set_error(F_memory_out);
-      if (errno == EOVERFLOW) return F_status_set_error(F_number_overflow);
       if (errno == ENOTDIR) return F_false;
-      if (errno == ENOENT) return F_file_found_not;
-      if (errno == EACCES) return F_status_set_error(F_access_denied);
+      if (errno == EOVERFLOW) return F_status_set_error(F_number_overflow);
       if (errno == ELOOP) return F_status_set_error(F_loop);
-      if (errno == EBADF) return F_status_set_error(F_directory_descriptor);
 
       return F_status_set_error(F_file_stat);
     }
@@ -234,17 +234,17 @@ extern "C" {
 
     if (*id < 0) {
       if (errno == EACCES) return F_status_set_error(F_access_denied);
-      if (errno == ENAMETOOLONG) return F_status_set_error(F_name);
       if (errno == EFAULT) return F_status_set_error(F_buffer);
       if (errno == EFBIG || errno == EOVERFLOW) return F_status_set_error(F_number_overflow);
       if (errno == EINTR) return F_status_set_error(F_interrupted);
       if (errno == EINVAL) return F_status_set_error(F_parameter);
       if (errno == ELOOP) return F_status_set_error(F_loop);
+      if (errno == ENAMETOOLONG) return F_status_set_error(F_name);
       if (errno == ENFILE) return F_status_set_error(F_file_open_max);
       if (errno == ENOENT) return F_status_set_error(F_directory_found_not);
-      if (errno == ENOTDIR) return F_status_set_error(F_file_type_not_directory);
       if (errno == ENOMEM) return F_status_set_error(F_memory_out);
       if (errno == ENOSPC) return F_status_set_error(F_space_not);
+      if (errno == ENOTDIR) return F_status_set_error(F_file_type_not_directory);
       if (errno == EPERM) return F_status_set_error(F_prohibited);
       if (errno == EROFS) return F_status_set_error(F_read_only);
 
@@ -272,20 +272,20 @@ extern "C" {
 
     if (*id < 0) {
       if (errno == EACCES) return F_status_set_error(F_access_denied);
-      if (errno == ENAMETOOLONG) return F_status_set_error(F_name);
+      if (errno == EBADF) return F_status_set_error(F_directory_descriptor);
       if (errno == EFAULT) return F_status_set_error(F_buffer);
       if (errno == EFBIG || errno == EOVERFLOW) return F_status_set_error(F_number_overflow);
       if (errno == EINTR) return F_status_set_error(F_interrupted);
       if (errno == EINVAL) return F_status_set_error(F_parameter);
       if (errno == ELOOP) return F_status_set_error(F_loop);
+      if (errno == ENAMETOOLONG) return F_status_set_error(F_name);
       if (errno == ENFILE) return F_status_set_error(F_file_open_max);
       if (errno == ENOENT) return F_status_set_error(F_directory_found_not);
-      if (errno == ENOTDIR) return F_status_set_error(F_file_type_not_directory);
       if (errno == ENOMEM) return F_status_set_error(F_memory_out);
+      if (errno == ENOTDIR) return F_status_set_error(F_file_type_not_directory);
       if (errno == ENOSPC) return F_status_set_error(F_space_not);
       if (errno == EPERM) return F_status_set_error(F_prohibited);
       if (errno == EROFS) return F_status_set_error(F_read_only);
-      if (errno == EBADF) return F_status_set_error(F_directory_descriptor);
 
       return F_status_set_error(F_failure);
     }
@@ -319,20 +319,20 @@ extern "C" {
     if (result < 0) {
       if (errno == EACCES) return F_status_set_error(F_access_denied);
       if (errno == EBUSY) return F_status_set_error(F_busy);
+      if (errno == EFAULT) return F_status_set_error(F_buffer);
+      if (errno == EINVAL) return F_status_set_error(F_parameter);
       if (errno == EIO) return F_status_set_error(F_input_output);
       if (errno == EISDIR) return F_status_set_error(F_file_type_directory);
       if (errno == ELOOP) return F_status_set_error(F_loop);
+      if (errno == EMFILE) return F_status_set_error(F_file_descriptor_max);
       if (errno == ENAMETOOLONG) return F_status_set_error(F_name);
-      if (errno == EFAULT) return F_status_set_error(F_buffer);
+      if (errno == ENFILE) return F_status_set_error(F_file_open_max);
       if (errno == ENOENT) return F_status_set_error(F_file_found_not);
       if (errno == ENOMEM) return F_status_set_error(F_memory_out);
       if (errno == ENOTDIR) return F_status_set_error(F_directory);
       if (errno == EPERM) return F_status_set_error(F_prohibited);
       if (errno == EROFS) return F_status_set_error(F_read_only);
       if (errno == EOVERFLOW) return F_status_set_error(F_number_overflow);
-      if (errno == EMFILE) return F_status_set_error(F_file_descriptor_max);
-      if (errno == ENFILE) return F_status_set_error(F_file_open_max);
-      if (errno == EINVAL) return F_status_set_error(F_parameter);
 
       return F_status_set_error(F_failure);
     }
@@ -366,20 +366,20 @@ extern "C" {
     if (result < 0) {
       if (errno == EACCES) return F_status_set_error(F_access_denied);
       if (errno == EBUSY) return F_status_set_error(F_busy);
+      if (errno == EFAULT) return F_status_set_error(F_buffer);
+      if (errno == EINVAL) return F_status_set_error(F_parameter);
       if (errno == EIO) return F_status_set_error(F_input_output);
       if (errno == EISDIR) return F_status_set_error(F_file_type_directory);
       if (errno == ELOOP) return F_status_set_error(F_loop);
+      if (errno == EMFILE) return F_status_set_error(F_file_descriptor_max);
       if (errno == ENAMETOOLONG) return F_status_set_error(F_name);
-      if (errno == EFAULT) return F_status_set_error(F_buffer);
+      if (errno == ENFILE) return F_status_set_error(F_file_open_max);
       if (errno == ENOENT) return F_status_set_error(F_file_found_not);
       if (errno == ENOMEM) return F_status_set_error(F_memory_out);
       if (errno == ENOTDIR) return F_status_set_error(F_directory);
+      if (errno == EOVERFLOW) return F_status_set_error(F_number_overflow);
       if (errno == EPERM) return F_status_set_error(F_prohibited);
       if (errno == EROFS) return F_status_set_error(F_read_only);
-      if (errno == EOVERFLOW) return F_status_set_error(F_number_overflow);
-      if (errno == EMFILE) return F_status_set_error(F_file_descriptor_max);
-      if (errno == ENFILE) return F_status_set_error(F_file_open_max);
-      if (errno == EINVAL) return F_status_set_error(F_parameter);
 
       return F_status_set_error(F_failure);
     }
index 1a4075a0f701fd7a8d61de4135a8fbc37fefa294..28092e5ba42555025f360cedd171e7e2deaf4133 100644 (file)
@@ -107,20 +107,20 @@ extern "C" {
  *
  * @return
  *   F_none on success.
- *   F_parameter (with error bit) if a parameter is invalid.
  *   F_access_denied (with error bit) on access denied.
- *   F_loop (with error bit) on loop error.
+ *   F_directory (with error bit) if a supposed directory in path is not actually a directory.
+ *   F_directory_link_max (with error bit) max links limit reached or exceeded.
+ *   F_file_found (with error bit) of a directory aleady exists at the path.
  *   F_file_found_not (with error bit) if a file within the path is not found (such as a broken symbolic link).
+ *   F_filesystem_quota_block (with error bit) if filesystem's disk blocks or inodes are exhausted.
+ *   F_loop (with error bit) on loop error.
  *   F_memory_out (with error bit) if out of memory.
+ *   F_name (with error bit) on path name error.
+ *   F_parameter (with error bit) if a parameter is invalid.
  *   F_prohibited (with error bit) if filesystem does not allow for removing.
  *   F_read_only (with error bit) if file is read-only.
- *   F_failure (with error bit) for any other (mkdir()) error.
- *   F_filesystem_quota_block (with error bit) if filesystem's disk blocks or inodes are exhausted.
  *   F_space_not (with error bit) if filesystem is out of space (or filesystem quota is reached).
- *   F_file_found (with error bit) of a directory aleady exists at the path.
- *   F_name (with error bit) on path name error.
- *   F_directory_link_max (with error bit) max links limit reached or exceeded.
- *   F_directory (with error bit) if a supposed directory in path is not actually a directory.
+ *   F_failure (with error bit) for any other (mkdir()) error.
  *
  * @see mkdir()
  */
@@ -140,21 +140,21 @@ extern "C" {
  *
  * @return
  *   F_none on success.
- *   F_parameter (with error bit) if a parameter is invalid.
  *   F_access_denied (with error bit) on access denied.
- *   F_loop (with error bit) on loop error.
+ *   F_directory (with error bit) if a supposed directory in path is not actually a directory.
+ *   F_directory_descriptor (with error bit) for bad directory descriptor for at_id.
+ *   F_directory_link_max (with error bit) max links limit reached or exceeded.
+ *   F_file_found (with error bit) of a directory aleady exists at the path.
  *   F_file_found_not (with error bit) if a file within the path is not found (such as a broken symbolic link).
+ *   F_filesystem_quota_block (with error bit) if filesystem's disk blocks or inodes are exhausted.
+ *   F_loop (with error bit) on loop error.
  *   F_memory_out (with error bit) if out of memory.
+ *   F_name (with error bit) on path name error.
+ *   F_parameter (with error bit) if a parameter is invalid.
  *   F_prohibited (with error bit) if filesystem does not allow for removing.
  *   F_read_only (with error bit) if file is read-only.
- *   F_failure (with error bit) for any other (mkdir()) error.
- *   F_filesystem_quota_block (with error bit) if filesystem's disk blocks or inodes are exhausted.
  *   F_space_not (with error bit) if filesystem is out of space (or filesystem quota is reached).
- *   F_file_found (with error bit) of a directory aleady exists at the path.
- *   F_name (with error bit) on path name error.
- *   F_directory_link_max (with error bit) max links limit reached or exceeded.
- *   F_directory (with error bit) if a supposed directory in path is not actually a directory.
- *   F_directory_descriptor (with error bit) for bad directory descriptor for at_id.
+ *   F_failure (with error bit) for any other (mkdirat()) error.
  *
  * @see mkdirat()
  */
@@ -169,14 +169,14 @@ extern "C" {
  *   The path file name.
  *
  * @return
- *   F_true if path was found and path is a directory (or a symlink to a directory).
  *   F_false if path was found and path is not a directory.
  *   F_file_found_not if the path was not found.
- *   F_name (with error bit) if the name is somehow invalid.
- *   F_memory_out (with error bit) if out of memory.
- *   F_number_overflow (with error bit) on overflow error.
+ *   F_true if path was found and path is a directory (or a symlink to a directory).
  *   F_access_denied (with error bit) if access to the file was denied.
  *   F_loop (with error bit) if a loop occurred.
+ *   F_memory_out (with error bit) if out of memory.
+ *   F_name (with error bit) if the name is somehow invalid.
+ *   F_number_overflow (with error bit) on overflow error.
  *   F_parameter (with error bit) if a parameter is invalid.
  *
  * @see stat()
@@ -196,16 +196,16 @@ extern "C" {
  *   Any valid flag, such as f_directory_at_path_empty, f_directory_at_automount_no, or f_directory_at_symlink_follow_no.
  *
  * @return
- *   F_true if path was found and path is a directory (or a symlink to a directory).
  *   F_false if path was found and path is not a directory.
  *   F_file_found_not if the path was not found.
- *   F_name (with error bit) if the name is somehow invalid.
- *   F_memory_out (with error bit) if out of memory.
- *   F_number_overflow (with error bit) on overflow error.
+ *   F_true if path was found and path is a directory (or a symlink to a directory).
  *   F_access_denied (with error bit) if access to the file was denied.
+ *   F_directory_descriptor (with error bit) for bad directory descriptor for at_id.
  *   F_loop (with error bit) if a loop occurred.
+ *   F_memory_out (with error bit) if out of memory.
+ *   F_name (with error bit) if the name is somehow invalid.
+ *   F_number_overflow (with error bit) on overflow error.
  *   F_parameter (with error bit) if a parameter is invalid.
- *   F_directory_descriptor (with error bit) for bad directory descriptor for at_id.
  *
  * @see fstatat()
  */
@@ -220,14 +220,14 @@ extern "C" {
  *   The path file name.
  *
  * @return
- *   F_true if path was found and path is a directory.
  *   F_false if path was found and path is not a directory (this includes symlinks).
  *   F_file_found_not if the path was not found.
- *   F_name (with error bit) if the name is somehow invalid.
- *   F_memory_out (with error bit) if out of memory.
- *   F_number_overflow (with error bit) on overflow error.
+ *   F_true if path was found and path is a directory.
  *   F_access_denied (with error bit) if access to the file was denied.
  *   F_loop (with error bit) if a loop occurred.
+ *   F_memory_out (with error bit) if out of memory.
+ *   F_name (with error bit) if the name is somehow invalid.
+ *   F_number_overflow (with error bit) on overflow error.
  *   F_parameter (with error bit) if a parameter is invalid.
  *
  * @see stat()
@@ -247,16 +247,16 @@ extern "C" {
  *   Any valid flag, such as f_directory_at_path_empty, f_directory_at_automount_no, or f_directory_at_symlink_follow_no.
  *
  * @return
- *   F_true if path was found and path is a directory.
  *   F_false if path was found and path is not a directory.
  *   F_file_found_not if the path was not found.
- *   F_name (with error bit) if the name is somehow invalid.
- *   F_memory_out (with error bit) if out of memory.
- *   F_number_overflow (with error bit) on overflow error.
+ *   F_true if path was found and path is a directory.
  *   F_access_denied (with error bit) if access to the file was denied.
+ *   F_directory_descriptor (with error bit) for bad directory descriptor for at_id.
  *   F_loop (with error bit) if a loop occurred.
+ *   F_memory_out (with error bit) if out of memory.
+ *   F_name (with error bit) if the name is somehow invalid.
+ *   F_number_overflow (with error bit) on overflow error.
  *   F_parameter (with error bit) if a parameter is invalid.
- *   F_directory_descriptor (with error bit) for bad directory descriptor for at_id.
  *
  * @see fstatat()
  */
@@ -283,10 +283,10 @@ extern "C" {
  *
  * @return
  *   F_none on success.
- *   F_data_not if directory is empty (@fixme: unlikely due to '.' and '..' probably always being returned.).
+ *   F_data_not if directory is empty.
  *   F_failure (with error bit) if failed to read directory information.
- *   F_parameter (with error bit) if a parameter is invalid.
  *   F_memory_reallocation (with error bit) on memory reallocation error.
+ *   F_parameter (with error bit) if a parameter is invalid.
  *
  * @see alphasort()
  * @see scandir()
@@ -312,13 +312,26 @@ extern "C" {
  *
  * @return
  *   F_none on success.
+ *   F_access_denied (with error bit) on access denied.
+ *   F_buffer (with error bit) if the buffer is invalid.
+ *   F_directory_found_not (with error bit) if directory was not found.
  *   F_failure (with error bit) if failed to read directory information.
+ *   F_file_open_max (with error bit) too many open files.
+ *   F_file_type_directory_not (with error bit) file is not a directory.
+ *   F_interrupted (with error bit) when program received an interrupt signal, halting operation.
+ *   F_loop (with error bit) on loop error.
+ *   F_memory_out (with error bit) if out of memory.
+ *   F_name (with error bit) on path name error.
+ *   F_number_overflow (with error bit) on integer overflow.
  *   F_parameter (with error bit) if a parameter is invalid.
+ *   F_prohibited (with error bit) if filesystem does not allow for removing.
+ *   F_read_only (with error bit) if file is read-only.
+ *   F_space_not (with error bit) if filesystem is out of space (or filesystem quota is reached).
  *
  * @see open()
  */
 #ifndef _di_f_directory_open_
-  extern f_return_status private_f_directory_open(const f_string path, const bool dereference, int *id) f_gcc_attribute_visibility_internal;
+  extern f_return_status f_directory_open(const f_string path, const bool dereference, int *id) f_gcc_attribute_visibility_internal;
 #endif // _di_f_directory_open_
 
 /**
@@ -339,13 +352,27 @@ extern "C" {
  *
  * @return
  *   F_none on success.
+ *   F_access_denied (with error bit) on access denied.
+ *   F_buffer (with error bit) if the buffer is invalid.
+ *   F_directory_found_not (with error bit) if directory was not found.
+ *   F_directory_descriptor (with error bit) for bad directory descriptor for at_id.
  *   F_failure (with error bit) if failed to read directory information.
+ *   F_file_open_max (with error bit) too many open files.
+ *   F_file_type_directory_not (with error bit) file is not a directory.
+ *   F_interrupted (with error bit) when program received an interrupt signal, halting operation.
+ *   F_loop (with error bit) on loop error.
+ *   F_memory_out (with error bit) if out of memory.
+ *   F_name (with error bit) on path name error.
+ *   F_number_overflow (with error bit) on integer overflow.
  *   F_parameter (with error bit) if a parameter is invalid.
+ *   F_prohibited (with error bit) if filesystem does not allow for removing.
+ *   F_read_only (with error bit) if file is read-only.
+ *   F_space_not (with error bit) if filesystem is out of space (or filesystem quota is reached).
  *
  * @see openat()
  */
 #ifndef _di_f_directory_open_at_
-  extern f_return_status private_f_directory_open_at(const int at_id, const f_string path, const bool dereference, int *id) f_gcc_attribute_visibility_internal;
+  extern f_return_status f_directory_open_at(const int at_id, const f_string path, const bool dereference, int *id) f_gcc_attribute_visibility_internal;
 #endif // _di_f_directory_open_at_
 
 /**
@@ -363,22 +390,22 @@ extern "C" {
  *
  * @return
  *   F_none on success.
- *   F_parameter (with error bit) if a parameter is invalid.
  *   F_access_denied (with error bit) on access denied.
  *   F_busy (with error bit) if file is busy.
- *   F_input_output (with error bit) if an I/O error occurred.
+ *   F_directory (with error bit) if a supposed directory in path is not actually a directory.
+ *   F_file_descriptor_max (with error bit) if max file descriptors was reached.
+ *   F_file_found_not (with error bit) if file not found.
+ *   F_file_open_max (with error bit) too many open files.
  *   F_file_type_directory (with error bit) file is a directory (directories cannot be removed via this function).
+ *   F_input_output (with error bit) if an I/O error occurred.
  *   F_loop (with error bit) on loop error.
- *   F_name (with error bit) on path name error.
- *   F_file_found_not (with error bit) if file not found.
  *   F_memory_out (with error bit) if out of memory.
- *   F_directory (with error bit) if a supposed directory in path is not actually a directory.
+ *   F_name (with error bit) on path name error.
+ *   F_parameter (with error bit) if a parameter is invalid.
  *   F_prohibited (with error bit) if filesystem does not allow for removing.
  *   F_read_only (with error bit) if file is read-only.
- *   F_failure (with error bit) for any other (unlink()) error.
  *   F_number_overflow (with error bit) on integer overflow.
- *   F_file_descriptor_max (with error bit) if max file descriptors was reached.
- *   F_file_open_max (with error bit) too many open files.
+ *   F_failure (with error bit) for any other (remove()) error.
  *
  * @see nftw()
  * @see remove()
@@ -405,19 +432,19 @@ extern "C" {
  *
  * @return
  *   F_none on success.
- *   F_parameter (with error bit) if a parameter is invalid.
  *   F_access_denied (with error bit) on access denied.
  *   F_busy (with error bit) if file is busy.
- *   F_input_output (with error bit) if an I/O error occurred.
+ *   F_directory (with error bit) if a supposed directory in path is not actually a directory.
+ *   F_file_found_not (with error bit) if file not found.
  *   F_file_type_directory (with error bit) file is a directory (directories cannot be removed via this function).
+ *   F_input_output (with error bit) if an I/O error occurred.
  *   F_loop (with error bit) on loop error.
- *   F_name (with error bit) on path name error.
- *   F_file_found_not (with error bit) if file not found.
  *   F_memory_out (with error bit) if out of memory.
- *   F_directory (with error bit) if a supposed directory in path is not actually a directory.
+ *   F_name (with error bit) on path name error.
+ *   F_parameter (with error bit) if a parameter is invalid.
  *   F_prohibited (with error bit) if filesystem does not allow for removing.
  *   F_read_only (with error bit) if file is read-only.
- *   F_failure (with error bit) for any other (unlink()) error.
+ *   F_failure (with error bit) for any other (remove()) error.
  *
  * @see nftw()
  * @see remove()
index 621889fa65714d22a62a8b20d4b0e72862b1b066..eda396c0b5292f4a27dead712bf09c05be7b316b 100644 (file)
@@ -61,8 +61,8 @@ extern "C" {
  * @return
  *   F_none on success.
  *   F_exist_not if name does not exist.
- *   F_string_too_large (with error bit) if appended string length is too large to store in the buffer.
  *   F_memory_reallocation (with error bit) on memory reallocation error.
+ *   F_string_too_large (with error bit) if appended string length is too large to store in the buffer.
  *
  * @see getenv()
  */
@@ -86,11 +86,11 @@ extern "C" {
  *
  * @return
  *   F_none on success.
- *   F_exist_not if name does not exist.
  *   F_data_not if name.used is 0.
+ *   F_exist_not if name does not exist.
+ *   F_memory_reallocation (with error bit) on memory reallocation error.
  *   F_parameter (with error bit) if a parameter is invalid.
  *   F_string_too_large (with error bit) if appended string length is too large to store in the buffer.
- *   F_memory_reallocation (with error bit) on memory reallocation error.
  *
  * @see getenv()
  */
@@ -145,9 +145,9 @@ extern "C" {
  * @return
  *   F_none on success.
  *   F_data_not if name.used is 0.
- *   F_parameter (with error bit) if a parameter is invalid.
  *   F_invalid (with error bit) if name is an invalid string.
  *   F_memory_out (with error bit) on out of memory.
+ *   F_parameter (with error bit) if a parameter is invalid.
  *   F_failure (with error bit) on any other error.
  *
  * @see setenv()
@@ -188,8 +188,8 @@ extern "C" {
  *   F_none on success.
  *   F_invalid (with error bit) if name is an invalid string.
  *   F_memory_out (with error bit) on out of memory.
- *   F_failure (with error bit) on any other error.
  *   F_parameter (with error bit) if a parameter is invalid.
+ *   F_failure (with error bit) on any other error.
  *
  * @see unsetenv()
  */
index a031ed89f38d1f9877df5ffe313b3533ab24cb9a..f1421260e03b758427abb40c3879ab68173ff7d2 100644 (file)
@@ -31,8 +31,8 @@ extern "C" {
  * @return
  *   F_none on success.
  *   F_exist_not if name does not exist.
- *   F_string_too_large (with error bit) if appended string length is too large to store in the buffer.
  *   F_memory_reallocation (with error bit) on memory reallocation error.
+ *   F_string_too_large (with error bit) if appended string length is too large to store in the buffer.
  *
  * @see f_environment_get()
  * @see f_environment_get_dynamic()
index c31843f002a364431d6dc7e48324d83a0e3e42e6..8cead21cd5bc510bc9d759446b17002253d70805 100644 (file)
@@ -287,14 +287,14 @@ extern "C" {
  * @return
  *   F_true if file exists.
  *   F_false if file does not exist.
- *   F_parameter (with error bit) if a parameter is invalid.
- *   F_name (with error bit) if the filename is too long.
- *   F_memory_out (with error bit) if out of memory.
- *   F_number_overflow (with error bit) on overflow error.
- *   F_directory (with error bit) on invalid directory.
  *   F_access_denied (with error bit) on access denied.
- *   F_loop (with error bit) on loop error.
+ *   F_directory (with error bit) on invalid directory.
  *   F_false (with error bit) on unknown/unhandled errors.
+ *   F_loop (with error bit) on loop error.
+ *   F_memory_out (with error bit) if out of memory.
+ *   F_name (with error bit) if the filename is too long.
+ *   F_number_overflow (with error bit) on overflow error.
+ *   F_parameter (with error bit) if a parameter is invalid.
  *
  * @see access()
  */
@@ -315,17 +315,17 @@ extern "C" {
  *
  * @return
  *   F_none on success.
- *   F_parameter (with error bit) if a parameter is invalid.
  *   F_access_denied (with error bit) on access denied.
- *   F_name (with error bit) if the filename is too long.
- *   F_loop (with error bit) on loop error.
+ *   F_access_mode (with error bit) if the current user does not have access to assign the file mode.
+ *   F_directory (with error bit) on invalid directory.
  *   F_file_found_not (with error bit) if file at path was not found.
+ *   F_input_output (with error bit) on I/O error.
+ *   F_loop (with error bit) on loop error.
  *   F_memory_out (with error bit) if out of memory.
- *   F_directory (with error bit) on invalid directory.
- *   F_prohibited (with error bit) if filesystem does not allow for file changes.
+ *   F_name (with error bit) if the filename is too long.
+ *   F_parameter (with error bit) if a parameter is invalid.
  *   F_read_only (with error bit) if file is read-only.
- *   F_input_output (with error bit) on I/O error.
- *   F_failure (with error bit) for any other (mkdir()) error.
+ *   F_failure (with error bit) for any other error.
  *
  * @see chmod()
  */
@@ -348,17 +348,17 @@ extern "C" {
  *
  * @return
  *   F_none on success.
- *   F_parameter (with error bit) if a parameter is invalid.
  *   F_access_denied (with error bit) on access denied.
- *   F_name (with error bit) if the filename is too long.
- *   F_loop (with error bit) on loop error.
+ *   F_access_mode (with error bit) if the current user does not have access to assign the file mode.
  *   F_file_found_not (with error bit) if file at path was not found.
- *   F_memory_out (with error bit) if out of memory.
  *   F_directory (with error bit) on invalid directory.
- *   F_prohibited (with error bit) if filesystem does not allow for file changes.
- *   F_read_only (with error bit) if file is read-only.
  *   F_input_output (with error bit) on I/O error.
- *   F_failure (with error bit) for any other (mkdir()) error.
+ *   F_loop (with error bit) on loop error.
+ *   F_memory_out (with error bit) if out of memory.
+ *   F_name (with error bit) if the filename is too long.
+ *   F_parameter (with error bit) if a parameter is invalid.
+ *   F_read_only (with error bit) if file is read-only.
+ *   F_failure (with error bit) for any other error.
  *
  * @see fchmodat()
  */
@@ -381,19 +381,19 @@ extern "C" {
  *
  * @return
  *   F_none on success.
- *   F_parameter (with error bit) if a parameter is invalid.
  *   F_access_denied (with error bit) on access denied.
- *   F_name (with error bit) if the filename is too long.
+ *   F_access_group (with error bit) if the current user does not have access to assign the specified group.
+ *   F_access_owner (with error bit) if the current user does not have access to assign the specified owner.
  *   F_buffer (with error bit) if the buffer is invalid.
- *   F_loop (with error bit) on loop error.
+ *   F_directory (with error bit) on invalid directory.
  *   F_file_found_not (with error bit) if file at path was not found.
+ *   F_input_output (with error bit) on I/O error.
+ *   F_loop (with error bit) on loop error.
  *   F_memory_out (with error bit) if out of memory.
- *   F_directory (with error bit) on invalid directory.
- *   F_access_owner (with error bit) if the current user does not have access to assign the specified owner.
- *   F_access_group (with error bit) if the current user does not have access to assign the specified group.
+ *   F_name (with error bit) if the filename is too long.
+ *   F_parameter (with error bit) if a parameter is invalid.
  *   F_read_only (with error bit) if file is read-only.
- *   F_input_output (with error bit) on I/O error.
- *   F_failure (with error bit) for any other (chown() or lchown()) error.
+ *   F_failure (with error bit) for any other error.
  *
  * @see chown()
  * @see lchown()
@@ -418,20 +418,20 @@ extern "C" {
  *
  * @return
  *   F_none on success.
- *   F_parameter (with error bit) if a parameter is invalid.
  *   F_access_denied (with error bit) on access denied.
- *   F_name (with error bit) if the filename is too long.
+ *   F_access_group (with error bit) if the current user does not have access to assign the specified group.
+ *   F_access_owner (with error bit) if the current user does not have access to assign the specified owner.
  *   F_buffer (with error bit) if the buffer is invalid.
- *   F_loop (with error bit) on loop error.
+ *   F_directory (with error bit) on invalid directory.
+ *   F_directory_descriptor (with error bit) for bad directory descriptor for at_id.
  *   F_file_found_not (with error bit) if file at path was not found.
+ *   F_input_output (with error bit) on I/O error.
+ *   F_loop (with error bit) on loop error.
  *   F_memory_out (with error bit) if out of memory.
- *   F_directory (with error bit) on invalid directory.
- *   F_access_owner (with error bit) if the current user does not have access to assign the specified owner.
- *   F_access_group (with error bit) if the current user does not have access to assign the specified group.
+ *   F_name (with error bit) if the filename is too long.
+ *   F_parameter (with error bit) if a parameter is invalid.
  *   F_read_only (with error bit) if file is read-only.
- *   F_input_output (with error bit) on I/O error.
- *   F_directory_descriptor (with error bit) for bad directory descriptor for at_id.
- *   F_failure (with error bit) for any other (chown() or lchown()) error.
+ *   F_failure (with error bit) for any other error.
  *
  * @see fchownat()
  */
@@ -449,9 +449,6 @@ extern "C" {
  *
  * This does not copy unknown file types.
  *
- * @todo provide a return status for when owner/role cannot be assigned.
- * This will be returned when complete so that caller can decide if this is an error or not.
- *
  * @param source
  *   The path to the file to copy from.
  * @param destination
@@ -469,26 +466,28 @@ extern "C" {
  *
  * @return
  *   F_none on success.
- *   F_unsupported if copying a given type of file is unsupported.
- *   F_parameter (with error bit) if a parameter is invalid.
  *   F_access_denied (with error bit) on access denied.
- *   F_loop (with error bit) on loop error.
- *   F_file_found (with error bit) if a file was found while exclusive is TRUE.
- *   F_memory_out (with error bit) if out of memory.
- *   F_prohibited (with error bit) if filesystem does not allow for removing.
- *   F_read_only (with error bit) if file is read-only.
- *   F_failure (with error bit) for any other (mkdir()) error.
- *   F_filesystem_quota_block (with error bit) if filesystem's disk blocks or inodes are exhausted.
- *   F_space_not (with error bit) if filesystem is out of space (or filesystem quota is reached).
- *   F_file_found (with error bit) of a directory aleady exists at the path.
- *   F_name (with error bit) on path name error.
+ *   F_access_group (with error bit) if the current user does not have access to assign the specified group.
+ *   F_access_mode (with error bit) if the current user does not have access to assign the file mode.
+ *   F_access_owner (with error bit) if the current user does not have access to assign the specified owner.
+ *   F_busy (with error bit) if filesystem is too busy to perforrm write.
  *   F_directory (with error bit) if a supposed directory in path is not actually a directory.
- *   F_number_overflow (with error bit) on overflow error.
- *   F_interrupted (with error bit) when program received an interrupt signal, halting create.
+ *   F_file_found (with error bit) if a file was found while exclusive is TRUE.
  *   F_file_open_max (with error bit) when system-wide max open files is reached.
- *   F_busy (with error bit) if filesystem is too busy to perforrm write.
  *   F_file_read (with error bit) on file read error.
  *   F_file_write (with error bit) on file write error.
+ *   F_filesystem_quota_block (with error bit) if filesystem's disk blocks or inodes are exhausted.
+ *   F_interrupted (with error bit) when program received an interrupt signal, halting operation.
+ *   F_loop (with error bit) on loop error.
+ *   F_memory_out (with error bit) if out of memory.
+ *   F_name (with error bit) on path name error.
+ *   F_number_overflow (with error bit) on overflow error.
+ *   F_parameter (with error bit) if a parameter is invalid.
+ *   F_prohibited (with error bit) if filesystem does not allow for making changes.
+ *   F_read_only (with error bit) if file is read-only.
+ *   F_space_not (with error bit) if filesystem is out of space (or filesystem quota is reached).
+ *   F_unsupported if copying a given type of file is unsupported.
+ *   F_failure (with error bit) for any other error.
  */
 #ifndef _di_f_file_clone_
   extern f_return_status f_file_clone(const f_string source, const f_string destination, const bool role, const f_number_unsigned size_block, const bool exclusive);
@@ -504,14 +503,14 @@ extern "C" {
  *
  * @return
  *   F_none on success.
- *   F_parameter (with error bit) if a parameter is invalid.
+ *   F_file_close (with error bit) if fclose() failed for any other reason.
  *   F_file_descriptor (with error bit) if file descriptor is invalid.
- *   F_interrupted (with error bit) if interrupt was received.
- *   F_input_output (with error bit) on I/O error.
+ *   F_file_synchronize (with error bit) on flush failure.
  *   F_filesystem_quota_block (with error bit) if filesystem's disk blocks or inodes are exhausted.
+ *   F_input_output (with error bit) on I/O error.
+ *   F_interrupted (with error bit) when program received an interrupt signal, halting operation.
+ *   F_parameter (with error bit) if a parameter is invalid.
  *   F_space_not (with error bit) if filesystem is out of space (or filesystem quota is reached).
- *   F_file_synchronize (with error bit) on flush failure.
- *   F_file_close (with error bit) if fclose() failed for any other reason.
  *
  * @see fclose()
  */
@@ -547,26 +546,25 @@ extern "C" {
  *
  * @return
  *   F_none on success.
- *   F_unsupported if copying a given type of file is unsupported.
- *   F_parameter (with error bit) if a parameter is invalid.
  *   F_access_denied (with error bit) on access denied.
- *   F_loop (with error bit) on loop error.
- *   F_file_found (with error bit) if a file was found while exclusive is TRUE.
- *   F_memory_out (with error bit) if out of memory.
- *   F_prohibited (with error bit) if filesystem does not allow for removing.
- *   F_read_only (with error bit) if file is read-only.
- *   F_failure (with error bit) for any other (mkdir()) error.
- *   F_filesystem_quota_block (with error bit) if filesystem's disk blocks or inodes are exhausted.
- *   F_space_not (with error bit) if filesystem is out of space (or filesystem quota is reached).
- *   F_file_found (with error bit) of a directory aleady exists at the path.
- *   F_name (with error bit) on path name error.
+ *   F_busy (with error bit) if filesystem is too busy to perforrm write.
  *   F_directory (with error bit) if a supposed directory in path is not actually a directory.
- *   F_number_overflow (with error bit) on overflow error.
- *   F_interrupted (with error bit) when program received an interrupt signal, halting create.
+ *   F_file_found (with error bit) if a file was found while exclusive is TRUE.
  *   F_file_open_max (with error bit) when system-wide max open files is reached.
- *   F_busy (with error bit) if filesystem is too busy to perforrm write.
  *   F_file_read (with error bit) on file read error.
  *   F_file_write (with error bit) on file write error.
+ *   F_filesystem_quota_block (with error bit) if filesystem's disk blocks or inodes are exhausted.
+ *   F_interrupted (with error bit) when program received an interrupt signal, halting operation.
+ *   F_loop (with error bit) on loop error.
+ *   F_memory_out (with error bit) if out of memory.
+ *   F_name (with error bit) on path name error.
+ *   F_number_overflow (with error bit) on overflow error.
+ *   F_parameter (with error bit) if a parameter is invalid.
+ *   F_prohibited (with error bit) if filesystem does not allow for making changes.
+ *   F_read_only (with error bit) if file is read-only.
+ *   F_space_not (with error bit) if filesystem is out of space (or filesystem quota is reached).
+ *   F_unsupported if copying a given type of file is unsupported.
+ *   F_failure (with error bit) for any other error.
  */
 #ifndef _di_f_file_copy_
   extern f_return_status f_file_copy(const f_string source, const f_string destination, const f_mode mode, const f_number_unsigned size_block, const bool exclusive);
@@ -587,23 +585,22 @@ extern "C" {
  *
  * @return
  *   F_none on success.
- *   F_parameter (with error bit) if a parameter is invalid.
  *   F_access_denied (with error bit) on access denied.
- *   F_loop (with error bit) on loop error.
+ *   F_busy (with error bit) if filesystem is too busy to perforrm write.
+ *   F_directory (with error bit) if a supposed directory in path is not actually a directory.
  *   F_file_found (with error bit) if a file was found while exclusive is TRUE.
- *   F_memory_out (with error bit) if out of memory.
- *   F_prohibited (with error bit) if filesystem does not allow for removing.
- *   F_read_only (with error bit) if file is read-only.
- *   F_failure (with error bit) for any other (mkdir()) error.
+ *   F_file_open_max (with error bit) when system-wide max open files is reached.
  *   F_filesystem_quota_block (with error bit) if filesystem's disk blocks or inodes are exhausted.
- *   F_space_not (with error bit) if filesystem is out of space (or filesystem quota is reached).
- *   F_file_found (with error bit) of a directory aleady exists at the path.
+ *   F_interrupted (with error bit) when program received an interrupt signal, halting operation.
+ *   F_loop (with error bit) on loop error.
+ *   F_memory_out (with error bit) if out of memory.
  *   F_name (with error bit) on path name error.
- *   F_directory (with error bit) if a supposed directory in path is not actually a directory.
  *   F_number_overflow (with error bit) on overflow error.
- *   F_interrupted (with error bit) when program received an interrupt signal, halting create.
- *   F_file_open_max (with error bit) when system-wide max open files is reached.
- *   F_busy (with error bit) if filesystem is too busy to perforrm write.
+ *   F_parameter (with error bit) if a parameter is invalid.
+ *   F_prohibited (with error bit) if filesystem does not allow for making changes.
+ *   F_read_only (with error bit) if file is read-only.
+ *   F_space_not (with error bit) if filesystem is out of space (or filesystem quota is reached).
+ *   F_failure (with error bit) for any other error.
  *
  * @see open()
  */
@@ -628,23 +625,22 @@ extern "C" {
  *
  * @return
  *   F_none on success.
- *   F_parameter (with error bit) if a parameter is invalid.
  *   F_access_denied (with error bit) on access denied.
- *   F_loop (with error bit) on loop error.
+ *   F_busy (with error bit) if filesystem is too busy to perforrm write.
+ *   F_directory (with error bit) if a supposed directory in path is not actually a directory.
  *   F_file_found (with error bit) if a file was found while exclusive is TRUE.
- *   F_memory_out (with error bit) if out of memory.
- *   F_prohibited (with error bit) if filesystem does not allow for removing.
- *   F_read_only (with error bit) if file is read-only.
- *   F_failure (with error bit) for any other (mkdir()) error.
+ *   F_file_open_max (with error bit) when system-wide max open files is reached.
  *   F_filesystem_quota_block (with error bit) if filesystem's disk blocks or inodes are exhausted.
- *   F_space_not (with error bit) if filesystem is out of space (or filesystem quota is reached).
- *   F_file_found (with error bit) of a directory aleady exists at the path.
+ *   F_interrupted (with error bit) when program received an interrupt signal, halting operation.
+ *   F_loop (with error bit) on loop error.
+ *   F_memory_out (with error bit) if out of memory.
  *   F_name (with error bit) on path name error.
- *   F_directory (with error bit) if a supposed directory in path is not actually a directory.
  *   F_number_overflow (with error bit) on overflow error.
- *   F_interrupted (with error bit) when program received an interrupt signal, halting create.
- *   F_file_open_max (with error bit) when system-wide max open files is reached.
- *   F_busy (with error bit) if filesystem is too busy to perforrm write.
+ *   F_parameter (with error bit) if a parameter is invalid.
+ *   F_prohibited (with error bit) if filesystem does not allow for making changes.
+ *   F_read_only (with error bit) if file is read-only.
+ *   F_space_not (with error bit) if filesystem is out of space (or filesystem quota is reached).
+ *   F_failure (with error bit) for any other error.
  *
  * @see openat()
  */
@@ -670,19 +666,18 @@ extern "C" {
  *
  * @return
  *   F_none on success.
- *   F_parameter (with error bit) if a parameter is invalid.
  *   F_access_denied (with error bit) on access denied.
- *   F_loop (with error bit) on loop error.
+ *   F_directory (with error bit) if a supposed directory in path is not actually a directory.
  *   F_file_found (with error bit) if a file was found while exclusive is TRUE.
- *   F_memory_out (with error bit) if out of memory.
- *   F_prohibited (with error bit) if filesystem does not allow for removing.
- *   F_failure (with error bit) for any other (mknod()) error.
  *   F_filesystem_quota_block (with error bit) if filesystem's disk blocks or inodes are exhausted.
- *   F_space_not (with error bit) if filesystem is out of space (or filesystem quota is reached).
- *   F_file_found (with error bit) of a directory aleady exists at the path.
+ *   F_loop (with error bit) on loop error.
+ *   F_memory_out (with error bit) if out of memory.
  *   F_name (with error bit) on path name error.
- *   F_directory (with error bit) if a supposed directory in path is not actually a directory.
+ *   F_parameter (with error bit) if a parameter is invalid.
+ *   F_prohibited (with error bit) if filesystem does not allow for making changes.
+ *   F_space_not (with error bit) if filesystem is out of space (or filesystem quota is reached).
  *   F_unsupported (with error bit) for unsupported file types.
+ *   F_failure (with error bit) for any other error.
  *
  * @see makedev()
  * @see mknod()
@@ -711,20 +706,19 @@ extern "C" {
  *
  * @return
  *   F_none on success.
- *   F_parameter (with error bit) if a parameter is invalid.
  *   F_access_denied (with error bit) on access denied.
- *   F_loop (with error bit) on loop error.
+ *   F_directory (with error bit) if a supposed directory in path is not actually a directory.
+ *   F_directory_descriptor (with error bit) for bad directory descriptor for at_id.
  *   F_file_found (with error bit) if a file was found while exclusive is TRUE.
- *   F_memory_out (with error bit) if out of memory.
- *   F_prohibited (with error bit) if filesystem does not allow for removing.
- *   F_failure (with error bit) for any other (mknod()) error.
  *   F_filesystem_quota_block (with error bit) if filesystem's disk blocks or inodes are exhausted.
- *   F_space_not (with error bit) if filesystem is out of space (or filesystem quota is reached).
- *   F_file_found (with error bit) of a directory aleady exists at the path.
+ *   F_loop (with error bit) on loop error.
+ *   F_memory_out (with error bit) if out of memory.
  *   F_name (with error bit) on path name error.
- *   F_directory (with error bit) if a supposed directory in path is not actually a directory.
+ *   F_parameter (with error bit) if a parameter is invalid.
+ *   F_prohibited (with error bit) if filesystem does not allow for making changes.
+ *   F_space_not (with error bit) if filesystem is out of space (or filesystem quota is reached).
  *   F_unsupported (with error bit) for unsupported file types.
- *   F_directory_descriptor (with error bit) for bad directory descriptor for at_id.
+ *   F_failure (with error bit) for any other error.
  *
  * @see makedev()
  * @see mknodat()
@@ -743,19 +737,18 @@ extern "C" {
  *
  * @return
  *   F_none on success.
- *   F_parameter (with error bit) if a parameter is invalid.
  *   F_access_denied (with error bit) on access denied.
- *   F_loop (with error bit) on loop error.
+ *   F_directory (with error bit) if a supposed directory in path is not actually a directory.
  *   F_file_found (with error bit) if a file was found while exclusive is TRUE.
- *   F_memory_out (with error bit) if out of memory.
- *   F_prohibited (with error bit) if filesystem does not allow for removing.
- *   F_failure (with error bit) for any other (mknod()) error.
  *   F_filesystem_quota_block (with error bit) if filesystem's disk blocks or ififos are exhausted.
- *   F_space_not (with error bit) if filesystem is out of space (or filesystem quota is reached).
- *   F_file_found (with error bit) of a directory aleady exists at the path.
+ *   F_loop (with error bit) on loop error.
+ *   F_memory_out (with error bit) if out of memory.
  *   F_name (with error bit) on path name error.
- *   F_directory (with error bit) if a supposed directory in path is not actually a directory.
+ *   F_parameter (with error bit) if a parameter is invalid.
+ *   F_prohibited (with error bit) if filesystem does not allow for making changes.
+ *   F_space_not (with error bit) if filesystem is out of space (or filesystem quota is reached).
  *   F_unsupported (with error bit) for unsupported file types.
+ *   F_failure (with error bit) for any other error.
  *
  * @see mkfifo()
  */
@@ -775,20 +768,19 @@ extern "C" {
  *
  * @return
  *   F_none on success.
- *   F_parameter (with error bit) if a parameter is invalid.
  *   F_access_denied (with error bit) on access denied.
- *   F_loop (with error bit) on loop error.
+ *   F_directory (with error bit) if a supposed directory in path is not actually a directory.
+ *   F_directory_descriptor (with error bit) for bad directory descriptor for at_id.
  *   F_file_found (with error bit) if a file was found while exclusive is TRUE.
- *   F_memory_out (with error bit) if out of memory.
- *   F_prohibited (with error bit) if filesystem does not allow for removing.
- *   F_failure (with error bit) for any other (mknod()) error.
  *   F_filesystem_quota_block (with error bit) if filesystem's disk blocks or ififos are exhausted.
- *   F_space_not (with error bit) if filesystem is out of space (or filesystem quota is reached).
- *   F_file_found (with error bit) of a directory aleady exists at the path.
+ *   F_loop (with error bit) on loop error.
+ *   F_memory_out (with error bit) if out of memory.
  *   F_name (with error bit) on path name error.
- *   F_directory (with error bit) if a supposed directory in path is not actually a directory.
+ *   F_parameter (with error bit) if a parameter is invalid.
+ *   F_prohibited (with error bit) if filesystem does not allow for making changes.
+ *   F_space_not (with error bit) if filesystem is out of space (or filesystem quota is reached).
  *   F_unsupported (with error bit) for unsupported file types.
- *   F_directory_descriptor (with error bit) for bad directory descriptor for at_id.
+ *   F_failure (with error bit) for any other error.
  *
  * @see mkfifoat()
  */
@@ -809,19 +801,18 @@ extern "C" {
  *
  * @return
  *   F_none on success.
- *   F_parameter (with error bit) if a parameter is invalid.
  *   F_access_denied (with error bit) on access denied.
- *   F_loop (with error bit) on loop error.
+ *   F_directory (with error bit) if a supposed directory in path is not actually a directory.
  *   F_file_found (with error bit) if a file was found while exclusive is TRUE.
- *   F_memory_out (with error bit) if out of memory.
- *   F_prohibited (with error bit) if filesystem does not allow for removing.
- *   F_failure (with error bit) for any other (mknod()) error.
  *   F_filesystem_quota_block (with error bit) if filesystem's disk blocks or inodes are exhausted.
- *   F_space_not (with error bit) if filesystem is out of space (or filesystem quota is reached).
- *   F_file_found (with error bit) of a directory aleady exists at the path.
+ *   F_loop (with error bit) on loop error.
+ *   F_memory_out (with error bit) if out of memory.
  *   F_name (with error bit) on path name error.
- *   F_directory (with error bit) if a supposed directory in path is not actually a directory.
+ *   F_parameter (with error bit) if a parameter is invalid.
+ *   F_prohibited (with error bit) if filesystem does not allow for making changes.
+ *   F_space_not (with error bit) if filesystem is out of space (or filesystem quota is reached).
  *   F_unsupported (with error bit) for unsupported file types.
+ *   F_failure (with error bit) for any other error.
  *
  * @see mknod()
  */
@@ -844,20 +835,19 @@ extern "C" {
  *
  * @return
  *   F_none on success.
- *   F_parameter (with error bit) if a parameter is invalid.
  *   F_access_denied (with error bit) on access denied.
- *   F_loop (with error bit) on loop error.
+ *   F_directory (with error bit) if a supposed directory in path is not actually a directory.
+ *   F_directory_descriptor (with error bit) for bad directory descriptor for at_id.
  *   F_file_found (with error bit) if a file was found while exclusive is TRUE.
- *   F_memory_out (with error bit) if out of memory.
- *   F_prohibited (with error bit) if filesystem does not allow for removing.
- *   F_failure (with error bit) for any other (mknod()) error.
  *   F_filesystem_quota_block (with error bit) if filesystem's disk blocks or inodes are exhausted.
- *   F_space_not (with error bit) if filesystem is out of space (or filesystem quota is reached).
- *   F_file_found (with error bit) of a directory aleady exists at the path.
+ *   F_loop (with error bit) on loop error.
+ *   F_memory_out (with error bit) if out of memory.
  *   F_name (with error bit) on path name error.
- *   F_directory (with error bit) if a supposed directory in path is not actually a directory.
+ *   F_parameter (with error bit) if a parameter is invalid.
+ *   F_prohibited (with error bit) if filesystem does not allow for making changes.
+ *   F_space_not (with error bit) if filesystem is out of space (or filesystem quota is reached).
+ *   F_failure (with error bit) for any other error.
  *   F_unsupported (with error bit) for unsupported file types.
- *   F_directory_descriptor (with error bit) for bad directory descriptor for at_id.
  *
  * @see mknodat()
  */
@@ -875,14 +865,14 @@ extern "C" {
  *   The path file name.
  *
  * @return
- *   F_true if path was found.
  *   F_false if path was not found.
- *   F_name (with error bit) if the name is somehow invalid.
- *   F_memory_out (with error bit) if out of memory.
- *   F_number_overflow (with error bit) on overflow error.
- *   F_directory (with error bit) on invalid directory.
+ *   F_true if path was found.
  *   F_access_denied (with error bit) if access to the file was denied.
+ *   F_directory (with error bit) on invalid directory.
  *   F_loop (with error bit) if a loop occurred.
+ *   F_memory_out (with error bit) if out of memory.
+ *   F_name (with error bit) if the name is somehow invalid.
+ *   F_number_overflow (with error bit) on overflow error.
  *   F_parameter (with error bit) if a parameter is invalid.
  *
  * @see stat()
@@ -905,16 +895,16 @@ extern "C" {
  *   Any valid flag, such as f_file_at_path_empty, f_file_at_automount_no, or f_file_at_symlink_follow_no.
  *
  * @return
- *   F_true if file exists.
  *   F_false if file does not exist.
- *   F_parameter (with error bit) if a parameter is invalid.
- *   F_name (with error bit) if the filename is too long.
- *   F_memory_out (with error bit) if out of memory.
- *   F_number_overflow (with error bit) on overflow error.
- *   F_directory (with error bit) on invalid directory.
+ *   F_true if file exists.
  *   F_access_denied (with error bit) on access denied.
- *   F_loop (with error bit) on loop error.
+ *   F_directory (with error bit) on invalid directory.
  *   F_false (with error bit) on unknown/unhandled errors.
+ *   F_loop (with error bit) on loop error.
+ *   F_memory_out (with error bit) if out of memory.
+ *   F_name (with error bit) if the filename is too long.
+ *   F_number_overflow (with error bit) on overflow error.
+ *   F_parameter (with error bit) if a parameter is invalid.
  *
  * @see fstatat()
  */
@@ -930,10 +920,10 @@ extern "C" {
  *
  * @return
  *   F_none is returned on success.
- *   F_parameter (with error bit) if a parameter is invalid.
  *   F_file_descriptor (with error bit) if file descriptor is invalid.
- *   F_input_output (with error bit) on I/O error.
  *   F_filesystem_quota_block (with error bit) if filesystem's disk blocks or inodes are exhausted.
+ *   F_input_output (with error bit) on I/O error.
+ *   F_parameter (with error bit) if a parameter is invalid.
  *   F_space_not (with error bit) if filesystem is out of space (or filesystem quota is reached).
  *   F_unsupported (with error bit) if the file system or file type does not support flushing.
  *   F_failure (with error bit) on any other failure.
@@ -956,15 +946,15 @@ extern "C" {
  *   The type of the file
  *
  * @return
- *   F_true if path was found and path is type.
  *   F_false if path was found and path is not type.
  *   F_file_found_not if the path was not found.
- *   F_name (with error bit) if the name is somehow invalid.
- *   F_memory_out (with error bit) if out of memory.
- *   F_number_overflow (with error bit) on overflow error.
- *   F_directory (with error bit) on invalid directory.
+ *   F_true if path was found and path is type.
  *   F_access_denied (with error bit) if access to the file was denied.
+ *   F_directory (with error bit) on invalid directory.
  *   F_loop (with error bit) if a loop occurred.
+ *   F_memory_out (with error bit) if out of memory.
+ *   F_name (with error bit) if the name is somehow invalid.
+ *   F_number_overflow (with error bit) on overflow error.
  *   F_parameter (with error bit) if a parameter is invalid.
  *
  * @see stat()
@@ -986,15 +976,15 @@ extern "C" {
  *   Any valid flag, such as f_file_at_path_empty, f_file_at_automount_no, or f_file_at_symlink_follow_no.
  *
  * @return
- *   F_true if path was found and path is type.
  *   F_false if path was found and path is not type.
  *   F_file_found_not if the path was not found.
- *   F_name (with error bit) if the name is somehow invalid.
- *   F_memory_out (with error bit) if out of memory.
- *   F_number_overflow (with error bit) on overflow error.
- *   F_directory (with error bit) on invalid directory.
+ *   F_true if path was found and path is type.
  *   F_access_denied (with error bit) if access to the file was denied.
+ *   F_directory (with error bit) on invalid directory.
  *   F_loop (with error bit) if a loop occurred.
+ *   F_memory_out (with error bit) if out of memory.
+ *   F_name (with error bit) if the name is somehow invalid.
+ *   F_number_overflow (with error bit) on overflow error.
  *   F_parameter (with error bit) if a parameter is invalid.
  *
  * @see fstatat()
@@ -1017,8 +1007,8 @@ extern "C" {
  *
  * @return
  *   F_none on success.
- *   F_parameter (with error bit) if a parameter is invalid.
  *   F_memory_reallocation (with error bit) on memory reallocation error.
+ *   F_parameter (with error bit) if a parameter is invalid.
  *   F_string_too_large (with error bit) if string is too large to store in the buffer.
  *
  * @see basename()
@@ -1041,8 +1031,8 @@ extern "C" {
  *
  * @return
  *   F_none on success.
- *   F_parameter (with error bit) if a parameter is invalid.
  *   F_memory_reallocation (with error bit) on memory reallocation error.
+ *   F_parameter (with error bit) if a parameter is invalid.
  *   F_string_too_large (with error bit) if string is too large to store in the buffer.
  *
  * @see dirname()
@@ -1064,22 +1054,22 @@ extern "C" {
  *
  * @return
  *   F_none on success.
- *   F_parameter (with error bit) if a parameter is invalid.
  *   F_access_denied (with error bit) on access denied.
- *   F_filesystem_quota_block (with error bit) if filesystem's disk blocks or inodes are exhausted.
- *   F_file_found (with error bit) if a file aleady exists at the path.
- *   F_name (with error bit) on path name error.
  *   F_buffer (with error bit) if the buffer is invalid.
- *   F_number_overflow (with error bit) on overflow error.
- *   F_interrupted (with error bit) when program received an interrupt signal, halting create.
- *   F_loop (with error bit) on loop error.
+ *   F_busy (with error bit) if filesystem is too busy to perforrm write.
+ *   F_file_found (with error bit) if a file aleady exists at the path.
  *   F_file_found_not (with error bit) if a parent path in point does not exist or is a broken symlink.
+ *   F_filesystem_quota_block (with error bit) if filesystem's disk blocks or inodes are exhausted.
  *   F_directory (with error bit) if a supposed directory in path is not actually a directory.
+ *   F_interrupted (with error bit) when program received an interrupt signal, halting operation.
+ *   F_loop (with error bit) on loop error.
  *   F_memory_out (with error bit) if out of memory.
+ *   F_name (with error bit) on path name error.
+ *   F_number_overflow (with error bit) on overflow error.
+ *   F_parameter (with error bit) if a parameter is invalid.
  *   F_prohibited (with error bit) if filesystem does not allow for creating or linking.
  *   F_read_only (with error bit) if filesystem is read-only.
- *   F_busy (with error bit) if filesystem is too busy to perforrm write.
- *   F_failure (with error bit) for any other (symlink()) error.
+ *   F_failure (with error bit) for any other error.
  *
  * @see symlink()
  */
@@ -1102,23 +1092,23 @@ extern "C" {
  *
  * @return
  *   F_none on success.
- *   F_parameter (with error bit) if a parameter is invalid.
  *   F_access_denied (with error bit) on access denied.
- *   F_filesystem_quota_block (with error bit) if filesystem's disk blocks or inodes are exhausted.
- *   F_file_found (with error bit) if a file aleady exists at the path.
- *   F_name (with error bit) on path name error.
+ *   F_busy (with error bit) if filesystem is too busy to perforrm write.
  *   F_buffer (with error bit) if the buffer is invalid.
- *   F_number_overflow (with error bit) on overflow error.
- *   F_interrupted (with error bit) when program received an interrupt signal, halting create.
- *   F_loop (with error bit) on loop error.
- *   F_file_found_not (with error bit) if a parent path in point does not exist or is a broken symlink.
  *   F_directory (with error bit) if a supposed directory in path is not actually a directory.
+ *   F_directory_descriptor (with error bit) for bad directory descriptor for at_id.
+ *   F_file_found (with error bit) if a file aleady exists at the path.
+ *   F_file_found_not (with error bit) if a parent path in point does not exist or is a broken symlink.
+ *   F_filesystem_quota_block (with error bit) if filesystem's disk blocks or inodes are exhausted.
+ *   F_interrupted (with error bit) when program received an interrupt signal, halting operation.
+ *   F_loop (with error bit) on loop error.
  *   F_memory_out (with error bit) if out of memory.
+ *   F_name (with error bit) on path name error.
+ *   F_number_overflow (with error bit) on overflow error.
+ *   F_parameter (with error bit) if a parameter is invalid.
  *   F_prohibited (with error bit) if filesystem does not allow for creating or linking.
  *   F_read_only (with error bit) if filesystem is read-only.
- *   F_busy (with error bit) if filesystem is too busy to perforrm write.
- *   F_directory_descriptor (with error bit) for bad directory descriptor for at_id.
- *   F_failure (with error bit) for any other (symlinkat()) error.
+ *   F_failure (with error bit) for any other error.
  *
  * @see symlinkat()
  */
@@ -1138,22 +1128,22 @@ extern "C" {
  *
  * @return
  *   F_none on success.
- *   F_parameter (with error bit) if a parameter is invalid.
  *   F_access_denied (with error bit) on access denied.
- *   F_filesystem_quota_block (with error bit) if filesystem's disk blocks or inodes are exhausted.
- *   F_file_found (with error bit) if a file aleady exists at the path.
- *   F_name (with error bit) on path name error.
  *   F_buffer (with error bit) if the buffer is invalid.
- *   F_number_overflow (with error bit) on overflow error.
- *   F_interrupted (with error bit) when program received an interrupt signal, halting create.
- *   F_loop (with error bit) on loop error.
- *   F_file_found_not (with error bit) if a parent path in point does not exist or is a broken symlink.
+ *   F_busy (with error bit) if filesystem is too busy to perforrm write.
  *   F_directory (with error bit) if a supposed directory in path is not actually a directory.
+ *   F_file_found (with error bit) if a file aleady exists at the path.
+ *   F_file_found_not (with error bit) if a parent path in point does not exist or is a broken symlink.
+ *   F_filesystem_quota_block (with error bit) if filesystem's disk blocks or inodes are exhausted.
+ *   F_interrupted (with error bit) when program received an interrupt signal, halting operation.
+ *   F_loop (with error bit) on loop error.
  *   F_memory_out (with error bit) if out of memory.
+ *   F_name (with error bit) on path name error.
+ *   F_number_overflow (with error bit) on overflow error.
+ *   F_parameter (with error bit) if a parameter is invalid.
  *   F_prohibited (with error bit) if filesystem does not allow for creating or linking.
  *   F_read_only (with error bit) if filesystem is read-only.
- *   F_busy (with error bit) if filesystem is too busy to perforrm write.
- *   F_failure (with error bit) for any other (link()) error.
+ *   F_failure (with error bit) for any other error.
  *
  * @see link()
  */
@@ -1179,23 +1169,23 @@ extern "C" {
  *
  * @return
  *   F_none on success.
- *   F_parameter (with error bit) if a parameter is invalid.
  *   F_access_denied (with error bit) on access denied.
- *   F_filesystem_quota_block (with error bit) if filesystem's disk blocks or inodes are exhausted.
- *   F_file_found (with error bit) if a file aleady exists at the path.
- *   F_name (with error bit) on path name error.
  *   F_buffer (with error bit) if the buffer is invalid.
- *   F_number_overflow (with error bit) on overflow error.
- *   F_interrupted (with error bit) when program received an interrupt signal, halting create.
- *   F_loop (with error bit) on loop error.
- *   F_file_found_not (with error bit) if a parent path in point does not exist or is a broken symlink.
+ *   F_busy (with error bit) if filesystem is too busy to perforrm write.
  *   F_directory (with error bit) if a supposed directory in path is not actually a directory.
+ *   F_directory_descriptor (with error bit) for bad directory descriptor for at_id.
+ *   F_file_found (with error bit) if a file aleady exists at the path.
+ *   F_file_found_not (with error bit) if a parent path in point does not exist or is a broken symlink.
+ *   F_filesystem_quota_block (with error bit) if filesystem's disk blocks or inodes are exhausted.
+ *   F_interrupted (with error bit) when program received an interrupt signal, halting operation.
+ *   F_loop (with error bit) on loop error.
  *   F_memory_out (with error bit) if out of memory.
+ *   F_name (with error bit) on path name error.
+ *   F_number_overflow (with error bit) on overflow error.
+ *   F_parameter (with error bit) if a parameter is invalid.
  *   F_prohibited (with error bit) if filesystem does not allow for creating or linking.
  *   F_read_only (with error bit) if filesystem is read-only.
- *   F_busy (with error bit) if filesystem is too busy to perforrm write.
- *   F_directory_descriptor (with error bit) for bad directory descriptor for at_id.
- *   F_failure (with error bit) for any other (linkat()) error.
+ *   F_failure (with error bit) for any other error.
  *
  * @see linkat()
  */
@@ -1219,17 +1209,17 @@ extern "C" {
  *
  * @return
  *   F_none on success.
- *   F_parameter (with error bit) if a parameter is invalid.
- *   F_string_too_large (with error bit) if link target path is too large for string buffer size.
  *   F_access_denied (with error bit) on access denied.
  *   F_buffer (with error bit) if the buffer is invalid.
+ *   F_directory (with error bit) if a supposed directory in path is not actually a directory.
+ *   F_file_found_not (with error bit) if the file at path was not found.
  *   F_input_output (with error bit) on I/O error.
  *   F_loop (with error bit) on loop error.
- *   F_name (with error bit) on path name error.
- *   F_file_found_not (with error bit) if the file at path was not found.
  *   F_memory_out (with error bit) if out of memory.
- *   F_directory (with error bit) if a supposed directory in path is not actually a directory.
- *   F_failure (with error bit) for any other (readlink()) error.
+ *   F_name (with error bit) on path name error.
+ *   F_parameter (with error bit) if a parameter is invalid.
+ *   F_string_too_large (with error bit) if link target path is too large for string buffer size.
+ *   F_failure (with error bit) for any other error.
  *
  * @see readlink()
  */
@@ -1255,18 +1245,18 @@ extern "C" {
  *
  * @return
  *   F_none on success.
- *   F_parameter (with error bit) if a parameter is invalid.
- *   F_string_too_large (with error bit) if link target path is too large for string buffer size.
  *   F_access_denied (with error bit) on access denied.
  *   F_buffer (with error bit) if the buffer is invalid.
+ *   F_directory (with error bit) if a supposed directory in path is not actually a directory.
+ *   F_directory_descriptor (with error bit) for bad directory descriptor for at_id.
+ *   F_file_found_not (with error bit) if the file at path was not found.
  *   F_input_output (with error bit) on I/O error.
  *   F_loop (with error bit) on loop error.
- *   F_name (with error bit) on path name error.
- *   F_file_found_not (with error bit) if the file at path was not found.
  *   F_memory_out (with error bit) if out of memory.
- *   F_directory (with error bit) if a supposed directory in path is not actually a directory.
- *   F_directory_descriptor (with error bit) for bad directory descriptor for at_id.
- *   F_failure (with error bit) for any other (readlinkat()) error.
+ *   F_name (with error bit) on path name error.
+ *   F_parameter (with error bit) if a parameter is invalid.
+ *   F_string_too_large (with error bit) if link target path is too large for string buffer size.
+ *   F_failure (with error bit) for any other error.
  *
  * @see readlinkat()
  */
@@ -1290,9 +1280,9 @@ extern "C" {
  *
  * @return
  *   F_none on success.
+ *   F_file_descriptor (with error bit) if unable to load the file descriptor (the file pointer may still be valid).
  *   F_file_found_not (with error bit) if the file was not found.
  *   F_file_open (with error bit) if the file is already open.
- *   F_file_descriptor (with error bit) if unable to load the file descriptor (the file pointer may still be valid).
  *   F_parameter (with error bit) if a parameter is invalid.
  *
  * @see open()
@@ -1319,9 +1309,9 @@ extern "C" {
  *
  * @return
  *   F_none on success.
+ *   F_directory_descriptor (with error bit) for bad directory descriptor for at_id.
  *   F_file_found_not (with error bit) if the file was not found.
  *   F_file_open (with error bit) if the file is already open.
- *   F_directory_descriptor (with error bit) for bad directory descriptor for at_id.
  *   F_parameter (with error bit) if a parameter is invalid.
  *
  * @see openat()
@@ -1345,15 +1335,15 @@ extern "C" {
  * @return
  *   F_none on success.
  *   F_none_eof on success and EOF was reached.
- *   F_parameter (with error bit) if a parameter is invalid.
  *   F_block (with error bit) if file descriptor is set to non-block and the read would result in a blocking operation.
- *   F_file_descriptor (with error bit) if the file descriptor is invalid.
  *   F_buffer (with error bit) if the buffer is invalid.
- *   F_interrupted (with error bit) if interrupt was received.
- *   F_input_output (with error bit) on I/O error.
  *   F_file (with error bit) if file descriptor is in an error state.
  *   F_file_closed (with error bit) if file is not open.
+ *   F_file_descriptor (with error bit) if the file descriptor is invalid.
  *   F_file_type_directory (with error bit) if file descriptor represents a directory.
+ *   F_input_output (with error bit) on I/O error.
+ *   F_interrupted (with error bit) if interrupt was received.
+ *   F_parameter (with error bit) if a parameter is invalid.
  *
  * @see read()
  */
@@ -1376,15 +1366,15 @@ extern "C" {
  * @return
  *   F_none on success.
  *   F_none_eof on success and EOF was reached.
- *   F_parameter (with error bit) if a parameter is invalid.
  *   F_block (with error bit) if file descriptor is set to non-block and the read would result in a blocking operation.
- *   F_file_descriptor (with error bit) if the file descriptor is invalid.
  *   F_buffer (with error bit) if the buffer is invalid.
- *   F_interrupted (with error bit) if interrupt was received.
- *   F_input_output (with error bit) on I/O error.
  *   F_file (with error bit) if file descriptor is in an error state.
  *   F_file_closed (with error bit) if file is not open.
+ *   F_file_descriptor (with error bit) if the file descriptor is invalid.
  *   F_file_type_directory (with error bit) if file descriptor represents a directory.
+ *   F_input_output (with error bit) on I/O error.
+ *   F_interrupted (with error bit) if interrupt was received.
+ *   F_parameter (with error bit) if a parameter is invalid.
  *
  * @see read()
  */
@@ -1408,15 +1398,15 @@ extern "C" {
  * @return
  *   F_none on success.
  *   F_none_eof on success and EOF was reached.
- *   F_parameter (with error bit) if a parameter is invalid.
  *   F_block (with error bit) if file descriptor is set to non-block and the read would result in a blocking operation.
- *   F_file_descriptor (with error bit) if the file descriptor is invalid.
  *   F_buffer (with error bit) if the buffer is invalid.
- *   F_interrupted (with error bit) if interrupt was received.
- *   F_input_output (with error bit) on I/O error.
  *   F_file (with error bit) if file descriptor is in an error state.
  *   F_file_closed (with error bit) if file is not open.
+ *   F_file_descriptor (with error bit) if the file descriptor is invalid.
  *   F_file_type_directory (with error bit) if file descriptor represents a directory.
+ *   F_input_output (with error bit) on I/O error.
+ *   F_interrupted (with error bit) if interrupt was received.
+ *   F_parameter (with error bit) if a parameter is invalid.
  *
  * @see read()
  */
@@ -1432,19 +1422,19 @@ extern "C" {
  *
  * @return
  *   F_none on success.
- *   F_parameter (with error bit) if a parameter is invalid.
  *   F_access_denied (with error bit) on access denied.
  *   F_busy (with error bit) if file is busy.
- *   F_input_output (with error bit) if an I/O error occurred.
+ *   F_directory (with error bit) if a supposed directory in path is not actually a directory.
+ *   F_file_found_not (with error bit) if file not found.
  *   F_file_type_directory (with error bit) file is a directory (directories cannot be removed via this function).
+ *   F_input_output (with error bit) if an I/O error occurred.
  *   F_loop (with error bit) on loop error.
- *   F_name (with error bit) on path name error.
- *   F_file_found_not (with error bit) if file not found.
  *   F_memory_out (with error bit) if out of memory.
- *   F_directory (with error bit) if a supposed directory in path is not actually a directory.
- *   F_prohibited (with error bit) if filesystem does not allow for removing.
+ *   F_name (with error bit) on path name error.
+ *   F_parameter (with error bit) if a parameter is invalid.
+ *   F_prohibited (with error bit) if filesystem does not allow for making changes.
  *   F_read_only (with error bit) if file is read-only.
- *   F_failure (with error bit) for any other (unlink()) error.
+ *   F_failure (with error bit) for any other error.
  *
  * @see unlink()
  */
@@ -1464,19 +1454,19 @@ extern "C" {
  *
  * @return
  *   F_none on success.
- *   F_parameter (with error bit) if a parameter is invalid.
  *   F_access_denied (with error bit) on access denied.
  *   F_busy (with error bit) if file is busy.
- *   F_input_output (with error bit) if an I/O error occurred.
+ *   F_directory (with error bit) if a supposed directory in path is not actually a directory.
+ *   F_file_found_not (with error bit) if file not found.
  *   F_file_type_directory (with error bit) file is a directory (directories cannot be removed via this function).
+ *   F_input_output (with error bit) if an I/O error occurred.
  *   F_loop (with error bit) on loop error.
- *   F_name (with error bit) on path name error.
- *   F_file_found_not (with error bit) if file not found.
  *   F_memory_out (with error bit) if out of memory.
- *   F_directory (with error bit) if a supposed directory in path is not actually a directory.
- *   F_prohibited (with error bit) if filesystem does not allow for removing.
+ *   F_name (with error bit) on path name error.
+ *   F_parameter (with error bit) if a parameter is invalid.
+ *   F_prohibited (with error bit) if filesystem does not allow for making changes.
  *   F_read_only (with error bit) if file is read-only.
- *   F_failure (with error bit) for any other (unlink()) error.
+ *   F_failure (with error bit) for any other error.
  *
  * @see unlinkat()
  */
@@ -1485,7 +1475,7 @@ extern "C" {
 #endif // _di_f_file_remove_at_
 
 /**
- * Given an open file descriptor, seek
+ * Given an open file descriptor, seek to a given location.
  *
  * @param id
  *   The file descriptor.
@@ -1499,11 +1489,11 @@ extern "C" {
  *
  * @return
  *   F_none on success.
- *   F_parameter (with error bit) if a parameter is invalid.
- *   F_file_descriptor (with error bit) if the file descriptor is invalid.
  *   F_bound_out (with error bit) if SEEK_DATA or SEEK_HOLE is specified as whence and offset is beyond the end of file.
- *   F_number_overflow (with error bit) on overflow for offset.
+ *   F_file_descriptor (with error bit) if the file descriptor is invalid.
  *   F_file_type_pipe (with error bit) if file descriptor represents a pipe, socket, or FIFO.
+ *   F_number_overflow (with error bit) on overflow for offset.
+ *   F_parameter (with error bit) if a parameter is invalid.
  *   F_failure (with error bit) on any other error.
  *
  * @see lseek
@@ -1525,13 +1515,13 @@ extern "C" {
  *
  * @return
  *   F_none on success.
- *   F_name (with error bit) if the name is somehow invalid.
- *   F_memory_out (with error bit) if out of memory.
- *   F_number_overflow (with error bit) on overflow error.
+ *   F_access_denied (with error bit) if access to the file was denied.
  *   F_directory (with error bit) on invalid directory.
  *   F_file_found_not (with error bit) if the file was not found.
- *   F_access_denied (with error bit) if access to the file was denied.
  *   F_loop (with error bit) if a loop occurred.
+ *   F_memory_out (with error bit) if out of memory.
+ *   F_name (with error bit) if the name is somehow invalid.
+ *   F_number_overflow (with error bit) on overflow error.
  *   F_parameter (with error bit) if a parameter is invalid.
  *
  * @see f_file_stat()
@@ -1555,13 +1545,13 @@ extern "C" {
  *
  * @return
  *   F_none on success.
- *   F_name (with error bit) if the name is somehow invalid.
- *   F_memory_out (with error bit) if out of memory.
- *   F_number_overflow (with error bit) on overflow error.
+ *   F_access_denied (with error bit) if access to the file was denied.
  *   F_directory (with error bit) on invalid directory.
  *   F_file_found_not (with error bit) if the file was not found.
- *   F_access_denied (with error bit) if access to the file was denied.
  *   F_loop (with error bit) if a loop occurred.
+ *   F_memory_out (with error bit) if out of memory.
+ *   F_name (with error bit) if the name is somehow invalid.
+ *   F_number_overflow (with error bit) on overflow error.
  *   F_parameter (with error bit) if a parameter is invalid.
  *
  * @see f_file_stat_at()
@@ -1580,13 +1570,13 @@ extern "C" {
  *
  * @return
  *   F_none on success.
- *   F_name (with error bit) if the name is somehow invalid.
- *   F_memory_out (with error bit) if out of memory.
- *   F_number_overflow (with error bit) on overflow error.
+ *   F_access_denied (with error bit) if access to the file was denied.
  *   F_directory (with error bit) on invalid directory.
  *   F_file_found_not (with error bit) if the file was not found.
- *   F_access_denied (with error bit) if access to the file was denied.
  *   F_loop (with error bit) if a loop occurred.
+ *   F_memory_out (with error bit) if out of memory.
+ *   F_name (with error bit) if the name is somehow invalid.
+ *   F_number_overflow (with error bit) on overflow error.
  *   F_parameter (with error bit) if a parameter is invalid.
  *
  * @see f_file_stat_by_id()
@@ -1608,13 +1598,13 @@ extern "C" {
  *
  * @return
  *   F_none on success.
- *   F_name (with error bit) if the name is somehow invalid.
- *   F_memory_out (with error bit) if out of memory.
- *   F_number_overflow (with error bit) on overflow error.
+ *   F_access_denied (with error bit) if access to the file was denied.
  *   F_directory (with error bit) on invalid directory.
  *   F_file_found_not (with error bit) if the file was not found.
- *   F_access_denied (with error bit) if access to the file was denied.
  *   F_loop (with error bit) if a loop occurred.
+ *   F_memory_out (with error bit) if out of memory.
+ *   F_name (with error bit) if the name is somehow invalid.
+ *   F_number_overflow (with error bit) on overflow error.
  *   F_parameter (with error bit) if a parameter is invalid.
  *
  * @see stat()
@@ -1637,13 +1627,13 @@ extern "C" {
  *
  * @return
  *   F_none on success.
- *   F_name (with error bit) if the name is somehow invalid.
- *   F_memory_out (with error bit) if out of memory.
- *   F_number_overflow (with error bit) on overflow error.
+ *   F_access_denied (with error bit) if access to the file was denied.
  *   F_directory (with error bit) on invalid directory.
  *   F_file_found_not (with error bit) if the file was not found.
- *   F_access_denied (with error bit) if access to the file was denied.
  *   F_loop (with error bit) if a loop occurred.
+ *   F_memory_out (with error bit) if out of memory.
+ *   F_name (with error bit) if the name is somehow invalid.
+ *   F_number_overflow (with error bit) on overflow error.
  *   F_parameter (with error bit) if a parameter is invalid.
  *
  * @see fstatat()
@@ -1662,13 +1652,13 @@ extern "C" {
  *
  * @return
  *   F_none on success.
- *   F_name (with error bit) if the name is somehow invalid.
- *   F_memory_out (with error bit) if out of memory.
- *   F_number_overflow (with error bit) on overflow error.
+ *   F_access_denied (with error bit) if access to the file was denied.
  *   F_directory (with error bit) on invalid directory.
  *   F_file_found_not (with error bit) if the file was not found.
- *   F_access_denied (with error bit) if access to the file was denied.
  *   F_loop (with error bit) if a loop occurred.
+ *   F_memory_out (with error bit) if out of memory.
+ *   F_name (with error bit) if the name is somehow invalid.
+ *   F_number_overflow (with error bit) on overflow error.
  *   F_parameter (with error bit) if a parameter is invalid.
  *
  * @see fstat()
@@ -1692,15 +1682,15 @@ extern "C" {
  * @return
  *   F_none on success.
  *   F_none_stop on success but no data was written (written == 0) (not an error and often happens if file type is not a regular file).
- *   F_parameter (with error bit) if a parameter is invalid.
  *   F_block (with error bit) if file descriptor is set to non-block and the write would result in a blocking operation.
- *   F_file_descriptor (with error bit) if the file descriptor is invalid.
  *   F_buffer (with error bit) if the buffer is invalid.
- *   F_interrupted (with error bit) if interrupt was received.
- *   F_input_output (with error bit) on I/O error.
  *   F_file (with error bit) if file descriptor is in an error state.
  *   F_file_closed (with error bit) if file is not open.
+ *   F_file_descriptor (with error bit) if the file descriptor is invalid.
  *   F_file_type_directory (with error bit) if file descriptor represents a directory.
+ *   F_input_output (with error bit) on I/O error.
+ *   F_interrupted (with error bit) if interrupt was received.
+ *   F_parameter (with error bit) if a parameter is invalid.
  *
  * @see write()
  */
@@ -1723,24 +1713,24 @@ extern "C" {
  *
  * @return
  *   F_none on success.
- *   F_parameter (with error bit) if a parameter is invalid.
  *   F_access_denied (with error bit) on access denied.
- *   F_directory_descriptor (with error bit) for bad directory descriptor for at_id.
  *   F_buffer (with error bit) if the buffer is invalid.
+ *   F_busy (with error bit) if filesystem is too busy to perforrm write.
+ *   F_directory (with error bit) if a supposed directory in path is not actually a directory.
+ *   F_directory_descriptor (with error bit) for bad directory descriptor for at_id.
+ *   F_file_found (with error bit) if a file aleady exists at the path.
+ *   F_file_open_max (with error bit) when system-wide max open files is reached.
+ *   F_filesystem_quota_block (with error bit) if filesystem's disk blocks or inodes are exhausted.
+ *   F_filesystem_quota_reached (with error bit) quota reached of filesystem is out of space.
+ *   F_interrupted (with error bit) when program received an interrupt signal, halting operation.
  *   F_loop (with error bit) on loop error.
+ *   F_memory_out (with error bit) if out of memory.
  *   F_name (with error bit) on path name error.
- *   F_file_found (with error bit) if a file aleady exists at the path.
- *   F_directory (with error bit) if a supposed directory in path is not actually a directory.
+ *   F_number_overflow (with error bit) on overflow error.
+ *   F_parameter (with error bit) if a parameter is invalid.
  *   F_prohibited (with error bit) if filesystem does not allow for creating or linking.
  *   F_read_only (with error bit) if filesystem is read-only.
  *   F_search (with error bit) if search permission is denied for one of the paths to the file.
- *   F_memory_out (with error bit) if out of memory.
- *   F_filesystem_quota_block (with error bit) if filesystem's disk blocks or inodes are exhausted.
- *   F_filesystem_quota_reached (with error bit) quota reached of filesystem is out of space.
- *   F_number_overflow (with error bit) on overflow error.
- *   F_interrupted (with error bit) when program received an interrupt signal, halting create.
- *   F_file_open_max (with error bit) when system-wide max open files is reached.
- *   F_busy (with error bit) if filesystem is too busy to perforrm write.
  *   F_failure (with error bit) for any other error.
  *
  * @see utimensat()
@@ -1765,24 +1755,24 @@ extern "C" {
  *
  * @return
  *   F_none on success.
- *   F_parameter (with error bit) if a parameter is invalid.
  *   F_access_denied (with error bit) on access denied.
- *   F_directory_descriptor (with error bit) for bad directory descriptor for at_id.
  *   F_buffer (with error bit) if the buffer is invalid.
+ *   F_busy (with error bit) if filesystem is too busy to perforrm write.
+ *   F_directory (with error bit) if a supposed directory in path is not actually a directory.
+ *   F_directory_descriptor (with error bit) for bad directory descriptor for at_id.
+ *   F_file_found (with error bit) if a file aleady exists at the path (when calling utimensat()).
+ *   F_file_open_max (with error bit) when system-wide max open files is reached.
+ *   F_filesystem_quota_block (with error bit) if filesystem's disk blocks or inodes are exhausted.
+ *   F_filesystem_quota_reached (with error bit) quota reached of filesystem is out of space.
+ *   F_interrupted (with error bit) when program received an interrupt signal, halting operation.
  *   F_loop (with error bit) on loop error.
+ *   F_memory_out (with error bit) if out of memory.
  *   F_name (with error bit) on path name error.
- *   F_file_found (with error bit) if a file aleady exists at the path (when calling utimensat()).
- *   F_directory (with error bit) if a supposed directory in path is not actually a directory.
+ *   F_number_overflow (with error bit) on overflow error.
+ *   F_parameter (with error bit) if a parameter is invalid.
  *   F_prohibited (with error bit) if filesystem does not allow for creating or linking.
  *   F_read_only (with error bit) if filesystem is read-only.
  *   F_search (with error bit) if search permission is denied for one of the paths to the file.
- *   F_memory_out (with error bit) if out of memory.
- *   F_filesystem_quota_block (with error bit) if filesystem's disk blocks or inodes are exhausted.
- *   F_filesystem_quota_reached (with error bit) quota reached of filesystem is out of space.
- *   F_number_overflow (with error bit) on overflow error.
- *   F_interrupted (with error bit) when program received an interrupt signal, halting create.
- *   F_file_open_max (with error bit) when system-wide max open files is reached.
- *   F_busy (with error bit) if filesystem is too busy to perforrm write.
  *   F_failure (with error bit) for any other error.
  *
  * @see utimensat()
@@ -1808,15 +1798,15 @@ extern "C" {
  * @return
  *   F_none on success.
  *   F_none_stop on success but no data was written (written == 0) (not an error and often happens if file type is not a regular file).
- *   F_parameter (with error bit) if a parameter is invalid.
  *   F_block (with error bit) if file descriptor is set to non-block and the write would result in a blocking operation.
- *   F_file_descriptor (with error bit) if the file descriptor is invalid.
  *   F_buffer (with error bit) if the buffer is invalid.
- *   F_interrupted (with error bit) if interrupt was received.
- *   F_input_output (with error bit) on I/O error.
  *   F_file (with error bit) if file descriptor is in an error state.
  *   F_file_closed (with error bit) if file is not open.
+ *   F_file_descriptor (with error bit) if the file descriptor is invalid.
  *   F_file_type_directory (with error bit) if file descriptor represents a directory.
+ *   F_input_output (with error bit) on I/O error.
+ *   F_interrupted (with error bit) if interrupt was received.
+ *   F_parameter (with error bit) if a parameter is invalid.
  *
  * @see write()
  */
@@ -1842,15 +1832,15 @@ extern "C" {
  *   F_none on success.
  *   F_none_stop on success but no data was written (written == 0) (not an error and often happens if file type is not a regular file).
  *   F_none_eos on success but range.stop exceeded buffer.used (only wrote up to buffer.used).
- *   F_parameter (with error bit) if a parameter is invalid.
  *   F_block (with error bit) if file descriptor is set to non-block and the write would result in a blocking operation.
- *   F_file_descriptor (with error bit) if the file descriptor is invalid.
  *   F_buffer (with error bit) if the buffer is invalid.
- *   F_interrupted (with error bit) if interrupt was received.
- *   F_input_output (with error bit) on I/O error.
  *   F_file (with error bit) if file descriptor is in an error state.
  *   F_file_closed (with error bit) if file is not open.
+ *   F_file_descriptor (with error bit) if the file descriptor is invalid.
  *   F_file_type_directory (with error bit) if file descriptor represents a directory.
+ *   F_input_output (with error bit) on I/O error.
+ *   F_interrupted (with error bit) if interrupt was received.
+ *   F_parameter (with error bit) if a parameter is invalid.
  *
  * @see write()
  */
@@ -1876,15 +1866,15 @@ extern "C" {
  *   F_none on success.
  *   F_none_stop on success but no data was written (written == 0) (not an error and often happens if file type is not a regular file).
  *   F_none_eos on success but range.stop exceeded buffer.used (only wrote up to buffer.used).
- *   F_parameter (with error bit) if a parameter is invalid.
  *   F_block (with error bit) if file descriptor is set to non-block and the write would result in a blocking operation.
- *   F_file_descriptor (with error bit) if the file descriptor is invalid.
  *   F_buffer (with error bit) if the buffer is invalid.
- *   F_interrupted (with error bit) if interrupt was received.
- *   F_input_output (with error bit) on I/O error.
  *   F_file (with error bit) if file descriptor is in an error state.
  *   F_file_closed (with error bit) if file is not open.
+ *   F_file_descriptor (with error bit) if the file descriptor is invalid.
  *   F_file_type_directory (with error bit) if file descriptor represents a directory.
+ *   F_input_output (with error bit) on I/O error.
+ *   F_interrupted (with error bit) if interrupt was received.
+ *   F_parameter (with error bit) if a parameter is invalid.
  *
  * @see write()
  */
index 482610b0a8e3a31fcab51e721c2f7a1cfa12863c..01eda4b0b16ea275be336485c705a164ceb76355 100644 (file)
@@ -16,7 +16,7 @@ extern "C" {
       if (errno == ENOENT) return F_status_set_error(F_file_found_not);
       if (errno == ENOMEM) return F_status_set_error(F_memory_out);
       if (errno == ENOTDIR) return F_status_set_error(F_directory);
-      if (errno == EPERM) return F_status_set_error(F_prohibited);
+      if (errno == EPERM) return F_status_set_error(F_access_mode);
       if (errno == EROFS) return F_status_set_error(F_read_only);
       if (errno == EIO) return F_status_set_error(F_input_output);
 
@@ -39,7 +39,7 @@ extern "C" {
       if (errno == ENOMEM) return F_status_set_error(F_memory_out);
       if (errno == ENOTDIR) return F_status_set_error(F_directory);
       if (errno == EBADF) return F_status_set_error(F_directory_descriptor);
-      if (errno == EPERM) return F_status_set_error(F_prohibited);
+      if (errno == EPERM) return F_status_set_error(F_access_mode);
       if (errno == EROFS) return F_status_set_error(F_read_only);
       if (errno == EIO) return F_status_set_error(F_input_output);
 
@@ -64,7 +64,7 @@ extern "C" {
       if (result == 0 && gid != -1) {
         result = chown(path, -1, gid);
 
-        if (errno == EPERM) return F_status_set_error(F_access_group);
+        if (result < 0 && errno == EPERM) return F_status_set_error(F_access_group);
       }
     }
     else {
@@ -286,11 +286,11 @@ extern "C" {
       if (errno == EACCES) return F_status_set_error(F_access_denied);
       if (errno == EDQUOT) return F_status_set_error(F_filesystem_quota_block);
       if (errno == EEXIST) return F_status_set_error(F_file_found);
-      if (errno == ENAMETOOLONG) return F_status_set_error(F_name);
       if (errno == EFAULT) return F_status_set_error(F_buffer);
       if (errno == EINVAL) return F_status_set_error(F_parameter);
       if (errno == ELOOP) return F_status_set_error(F_loop);
       if (errno == EMLINK) return F_status_set_error(F_directory_link_max);
+      if (errno == ENAMETOOLONG) return F_status_set_error(F_name);
       if (errno == ENOENT) return F_status_set_error(F_file_found_not);
       if (errno == ENOMEM) return F_status_set_error(F_memory_out);
       if (errno == ENOSPC) return F_status_set_error(F_space_not);
index 023e83fea2fa8ff99079a34158ca294833c717af..a2e45105f3d6574387d4e080190b810d1e21b4d9 100644 (file)
@@ -27,17 +27,17 @@ extern "C" {
  *
  * @return
  *   F_none on success.
- *   F_parameter (with error bit) if a parameter is invalid.
  *   F_access_denied (with error bit) on access denied.
- *   F_name (with error bit) if the filename is too long.
- *   F_loop (with error bit) on loop error.
+ *   F_access_mode (with error bit) if the current user does not have access to assign the file mode.
+ *   F_directory (with error bit) on invalid directory.
  *   F_file_found_not (with error bit) if file at path was not found.
+ *   F_input_output (with error bit) on I/O error.
+ *   F_loop (with error bit) on loop error.
  *   F_memory_out (with error bit) if out of memory.
- *   F_directory (with error bit) on invalid directory.
- *   F_prohibited (with error bit) if filesystem does not allow for file changes.
+ *   F_name (with error bit) if the filename is too long.
+ *   F_parameter (with error bit) if a parameter is invalid.
  *   F_read_only (with error bit) if file is read-only.
- *   F_input_output (with error bit) on I/O error.
- *   F_failure (with error bit) for any other (mkdir()) error.
+ *   F_failure (with error bit) for any other error.
  *
  * @see f_file_change_mode()
  * @see f_file_copy()
@@ -60,17 +60,17 @@ extern "C" {
  *
  * @return
  *   F_none on success.
- *   F_parameter (with error bit) if a parameter is invalid.
  *   F_access_denied (with error bit) on access denied.
- *   F_name (with error bit) if the filename is too long.
- *   F_loop (with error bit) on loop error.
+ *   F_access_mode (with error bit) if the current user does not have access to assign the file mode.
  *   F_file_found_not (with error bit) if file at path was not found.
- *   F_memory_out (with error bit) if out of memory.
  *   F_directory (with error bit) on invalid directory.
- *   F_prohibited (with error bit) if filesystem does not allow for file changes.
- *   F_read_only (with error bit) if file is read-only.
  *   F_input_output (with error bit) on I/O error.
- *   F_failure (with error bit) for any other (mkdir()) error.
+ *   F_loop (with error bit) on loop error.
+ *   F_memory_out (with error bit) if out of memory.
+ *   F_name (with error bit) if the filename is too long.
+ *   F_parameter (with error bit) if a parameter is invalid.
+ *   F_read_only (with error bit) if file is read-only.
+ *   F_failure (with error bit) for any other error.
  *
  * @see f_file_change_mode_at()
  */
@@ -95,20 +95,19 @@ extern "C" {
  *
  * @return
  *   F_none on success.
- *   F_parameter (with error bit) if a parameter is invalid.
  *   F_access_denied (with error bit) on access denied.
- *   F_name (with error bit) if the filename is too long.
+ *   F_access_group (with error bit) if the current user does not have access to assign the specified group.
+ *   F_access_owner (with error bit) if the current user does not have access to assign the specified owner.
  *   F_buffer (with error bit) if the buffer is invalid.
- *   F_loop (with error bit) on loop error.
+ *   F_directory (with error bit) on invalid directory.
  *   F_file_found_not (with error bit) if file at path was not found.
+ *   F_input_output (with error bit) on I/O error.
+ *   F_loop (with error bit) on loop error.
  *   F_memory_out (with error bit) if out of memory.
- *   F_directory (with error bit) on invalid directory.
- *   F_access_owner (with error bit) if the current user does not have access to assign the specified owner.
- *   F_access_group (with error bit) if the current user does not have access to assign the specified group.
+ *   F_name (with error bit) if the filename is too long.
+ *   F_parameter (with error bit) if a parameter is invalid.
  *   F_read_only (with error bit) if file is read-only.
- *   F_input_output (with error bit) on I/O error.
- *   F_failure (with error bit) for any other (chown() or lchown()) error.
- *
+ *   F_failure (with error bit) for any other error.
  *
  * @see f_file_change_owner()
  * @see f_file_copy()
@@ -135,20 +134,20 @@ extern "C" {
  *
  * @return
  *   F_none on success.
- *   F_parameter (with error bit) if a parameter is invalid.
  *   F_access_denied (with error bit) on access denied.
- *   F_name (with error bit) if the filename is too long.
+ *   F_access_group (with error bit) if the current user does not have access to assign the specified group.
+ *   F_access_owner (with error bit) if the current user does not have access to assign the specified owner.
  *   F_buffer (with error bit) if the buffer is invalid.
- *   F_loop (with error bit) on loop error.
+ *   F_directory (with error bit) on invalid directory.
+ *   F_directory_descriptor (with error bit) for bad directory descriptor for at_id.
  *   F_file_found_not (with error bit) if file at path was not found.
+ *   F_input_output (with error bit) on I/O error.
+ *   F_loop (with error bit) on loop error.
  *   F_memory_out (with error bit) if out of memory.
- *   F_directory (with error bit) on invalid directory.
- *   F_access_owner (with error bit) if the current user does not have access to assign the specified owner.
- *   F_access_group (with error bit) if the current user does not have access to assign the specified group.
+ *   F_name (with error bit) if the filename is too long.
+ *   F_parameter (with error bit) if a parameter is invalid.
  *   F_read_only (with error bit) if file is read-only.
- *   F_input_output (with error bit) on I/O error.
- *   F_directory_descriptor (with error bit) for bad directory descriptor for at_id.
- *   F_failure (with error bit) for any other (chown() or lchown()) error.
+ *   F_failure (with error bit) for any other error.
  *
  * @see f_file_change_owner_at()
  */
@@ -166,14 +165,14 @@ extern "C" {
  *
  * @return
  *   F_none on success.
- *   F_parameter (with error bit) if a parameter is invalid.
+ *   F_file_close (with error bit) if fclose() failed for any other reason.
  *   F_file_descriptor (with error bit) if file descriptor is invalid.
- *   F_interrupted (with error bit) if interrupt was received.
- *   F_input_output (with error bit) on I/O error.
- *   F_filesystem_quota_block (with error bit) if filesystem's disk blocks or inodes are exhausted.
- *   F_filesystem_quota_reached (with error bit) quota reached of filesystem is out of space.
  *   F_file_synchronize (with error bit) on flush failure.
- *   F_file_close (with error bit) if fclose() failed for any other reason.
+ *   F_filesystem_quota_block (with error bit) if filesystem's disk blocks or inodes are exhausted.
+ *   F_input_output (with error bit) on I/O error.
+ *   F_interrupted (with error bit) when program received an interrupt signal, halting operation.
+ *   F_parameter (with error bit) if a parameter is invalid.
+ *   F_space_not (with error bit) if filesystem is out of space (or filesystem quota is reached).
  *
  * @see f_file_close()
  * @see f_file_copy()
@@ -203,25 +202,25 @@ extern "C" {
  *
  * @return
  *   F_none on success.
- *   F_parameter (with error bit) if a parameter is invalid.
  *   F_access_denied (with error bit) on access denied.
- *   F_loop (with error bit) on loop error.
- *   F_file_found (with error bit) if a file was found while exclusive is TRUE.
- *   F_memory_out (with error bit) if out of memory.
- *   F_prohibited (with error bit) if filesystem does not allow for removing.
- *   F_read_only (with error bit) if file is read-only.
- *   F_failure (with error bit) for any other (mkdir()) error.
- *   F_filesystem_quota_block (with error bit) if filesystem's disk blocks or inodes are exhausted.
- *   F_space_not (with error bit) if filesystem is out of space (or filesystem quota is reached).
- *   F_file_found (with error bit) of a directory aleady exists at the path.
- *   F_name (with error bit) on path name error.
+ *   F_busy (with error bit) if filesystem is too busy to perforrm write.
  *   F_directory (with error bit) if a supposed directory in path is not actually a directory.
- *   F_number_overflow (with error bit) on overflow error.
- *   F_interrupted (with error bit) when program received an interrupt signal, halting create.
+ *   F_file_found (with error bit) if a file was found while exclusive is TRUE.
  *   F_file_open_max (with error bit) when system-wide max open files is reached.
- *   F_busy (with error bit) if filesystem is too busy to perforrm write.
  *   F_file_read (with error bit) on file read error.
  *   F_file_write (with error bit) on file write error.
+ *   F_filesystem_quota_block (with error bit) if filesystem's disk blocks or inodes are exhausted.
+ *   F_interrupted (with error bit) when program received an interrupt signal, halting operation.
+ *   F_loop (with error bit) on loop error.
+ *   F_memory_out (with error bit) if out of memory.
+ *   F_name (with error bit) on path name error.
+ *   F_number_overflow (with error bit) on overflow error.
+ *   F_parameter (with error bit) if a parameter is invalid.
+ *   F_prohibited (with error bit) if filesystem does not allow for making changes.
+ *   F_read_only (with error bit) if file is read-only.
+ *   F_space_not (with error bit) if filesystem is out of space (or filesystem quota is reached).
+ *   F_unsupported if copying a given type of file is unsupported.
+ *   F_failure (with error bit) for any other error.
  *
  * @see f_file_copy()
  * @see f_file_clone()
@@ -249,23 +248,22 @@ extern "C" {
  *
  * @return
  *   F_none on success.
- *   F_parameter (with error bit) if a parameter is invalid.
  *   F_access_denied (with error bit) on access denied.
- *   F_loop (with error bit) on loop error.
+ *   F_busy (with error bit) if filesystem is too busy to perforrm write.
+ *   F_directory (with error bit) if a supposed directory in path is not actually a directory.
  *   F_file_found (with error bit) if a file was found while exclusive is TRUE.
- *   F_memory_out (with error bit) if out of memory.
- *   F_prohibited (with error bit) if filesystem does not allow for removing.
- *   F_read_only (with error bit) if file is read-only.
- *   F_failure (with error bit) for any other (mkdir()) error.
+ *   F_file_open_max (with error bit) when system-wide max open files is reached.
  *   F_filesystem_quota_block (with error bit) if filesystem's disk blocks or inodes are exhausted.
- *   F_filesystem_quota_reached (with error bit) quota reached of filesystem is out of space.
- *   F_file_found (with error bit) of a directory aleady exists at the path.
+ *   F_interrupted (with error bit) when program received an interrupt signal, halting operation.
+ *   F_loop (with error bit) on loop error.
+ *   F_memory_out (with error bit) if out of memory.
  *   F_name (with error bit) on path name error.
- *   F_directory (with error bit) if a supposed directory in path is not actually a directory.
  *   F_number_overflow (with error bit) on overflow error.
- *   F_interrupted (with error bit) when program received an interrupt signal, halting create.
- *   F_file_open_max (with error bit) when system-wide max open files is reached.
- *   F_busy (with error bit) if filesystem is too busy to perforrm write.
+ *   F_parameter (with error bit) if a parameter is invalid.
+ *   F_prohibited (with error bit) if filesystem does not allow for making changes.
+ *   F_read_only (with error bit) if file is read-only.
+ *   F_space_not (with error bit) if filesystem is out of space (or filesystem quota is reached).
+ *   F_failure (with error bit) for any other error.
  *
  * @see f_file_copy()
  * @see f_file_create()
@@ -295,23 +293,22 @@ extern "C" {
  *
  * @return
  *   F_none on success.
- *   F_parameter (with error bit) if a parameter is invalid.
  *   F_access_denied (with error bit) on access denied.
- *   F_loop (with error bit) on loop error.
+ *   F_busy (with error bit) if filesystem is too busy to perforrm write.
+ *   F_directory (with error bit) if a supposed directory in path is not actually a directory.
  *   F_file_found (with error bit) if a file was found while exclusive is TRUE.
- *   F_memory_out (with error bit) if out of memory.
- *   F_prohibited (with error bit) if filesystem does not allow for removing.
- *   F_read_only (with error bit) if file is read-only.
- *   F_failure (with error bit) for any other (mkdir()) error.
+ *   F_file_open_max (with error bit) when system-wide max open files is reached.
  *   F_filesystem_quota_block (with error bit) if filesystem's disk blocks or inodes are exhausted.
- *   F_filesystem_quota_reached (with error bit) quota reached of filesystem is out of space.
- *   F_file_found (with error bit) of a directory aleady exists at the path.
+ *   F_interrupted (with error bit) when program received an interrupt signal, halting operation.
+ *   F_loop (with error bit) on loop error.
+ *   F_memory_out (with error bit) if out of memory.
  *   F_name (with error bit) on path name error.
- *   F_directory (with error bit) if a supposed directory in path is not actually a directory.
  *   F_number_overflow (with error bit) on overflow error.
- *   F_interrupted (with error bit) when program received an interrupt signal, halting create.
- *   F_file_open_max (with error bit) when system-wide max open files is reached.
- *   F_busy (with error bit) if filesystem is too busy to perforrm write.
+ *   F_parameter (with error bit) if a parameter is invalid.
+ *   F_prohibited (with error bit) if filesystem does not allow for making changes.
+ *   F_read_only (with error bit) if file is read-only.
+ *   F_space_not (with error bit) if filesystem is out of space (or filesystem quota is reached).
+ *   F_failure (with error bit) for any other error.
  *
  * @see f_file_create_at()
  */
@@ -331,20 +328,21 @@ extern "C" {
  *
  * @return
  *   F_none on success.
- *   F_parameter (with error bit) if a parameter is invalid.
  *   F_access_denied (with error bit) on access denied.
+ *   F_buffer (with error bit) if the buffer is invalid.
+ *   F_directory (with error bit) if a supposed directory in path is not actually a directory.
+ *   F_directory_link_max (with error bit) max links limit reached or exceeded.
+ *   F_file_found (with error bit) if a file was found while exclusive is TRUE.
+ *   F_file_found_not (with error bit) if file at path was not found.
+ *   F_filesystem_quota_block (with error bit) if filesystem's disk blocks or inodes are exhausted.
  *   F_loop (with error bit) on loop error.
- *   F_file_found_not (with error bit) if a file within the path is not found (such as a broken symbolic link).
  *   F_memory_out (with error bit) if out of memory.
- *   F_prohibited (with error bit) if filesystem does not allow for removing.
+ *   F_name (with error bit) on path name error.
+ *   F_parameter (with error bit) if a parameter is invalid.
+ *   F_prohibited (with error bit) if filesystem does not allow for making changes.
  *   F_read_only (with error bit) if file is read-only.
- *   F_failure (with error bit) for any other (mkdir()) error.
- *   F_filesystem_quota_block (with error bit) if filesystem's disk blocks or inodes are exhausted.
  *   F_space_not (with error bit) if filesystem is out of space (or filesystem quota is reached).
- *   F_file_found (with error bit) of a directory aleady exists at the path.
- *   F_name (with error bit) on path name error.
- *   F_directory_link_max (with error bit) max links limit reached or exceeded.
- *   F_directory (with error bit) if a supposed directory in path is not actually a directory.
+ *   F_failure (with error bit) for any other error.
  *
  * @see f_file_copy()
  * @see mkdir()
@@ -367,20 +365,22 @@ extern "C" {
  *
  * @return
  *   F_none on success.
- *   F_parameter (with error bit) if a parameter is invalid.
  *   F_access_denied (with error bit) on access denied.
+ *   F_buffer (with error bit) if the buffer is invalid.
+ *   F_directory (with error bit) if a supposed directory in path is not actually a directory.
+ *   F_directory_descriptor (with error bit) for bad directory descriptor for at_id.
+ *   F_directory_link_max (with error bit) max links limit reached or exceeded.
+ *   F_file_found (with error bit) if a file was found while exclusive is TRUE.
+ *   F_file_found_not (with error bit) if file at path was not found.
+ *   F_filesystem_quota_block (with error bit) if filesystem's disk blocks or inodes are exhausted.
  *   F_loop (with error bit) on loop error.
- *   F_file_found_not (with error bit) if a file within the path is not found (such as a broken symbolic link).
  *   F_memory_out (with error bit) if out of memory.
- *   F_prohibited (with error bit) if filesystem does not allow for removing.
+ *   F_name (with error bit) on path name error.
+ *   F_parameter (with error bit) if a parameter is invalid.
+ *   F_prohibited (with error bit) if filesystem does not allow for making changes.
  *   F_read_only (with error bit) if file is read-only.
- *   F_failure (with error bit) for any other (mkdir()) error.
- *   F_filesystem_quota_block (with error bit) if filesystem's disk blocks or inodes are exhausted.
  *   F_space_not (with error bit) if filesystem is out of space (or filesystem quota is reached).
- *   F_file_found (with error bit) of a directory aleady exists at the path.
- *   F_name (with error bit) on path name error.
- *   F_directory_link_max (with error bit) max links limit reached or exceeded.
- *   F_directory (with error bit) if a supposed directory in path is not actually a directory.
+ *   F_failure (with error bit) for any other error.
  *
  * @see mkdirat()
  */
@@ -398,17 +398,18 @@ extern "C" {
  *
  * @return
  *   F_none on success.
- *   F_parameter (with error bit) if a parameter is invalid.
  *   F_access_denied (with error bit) on access denied.
+ *   F_directory (with error bit) if a supposed directory in path is not actually a directory.
  *   F_file_found (with error bit) if a file was found while exclusive is TRUE.
- *   F_prohibited (with error bit) if filesystem does not allow for removing.
- *   F_failure (with error bit) for any other (mknod()) error.
  *   F_filesystem_quota_block (with error bit) if filesystem's disk blocks or ififos are exhausted.
- *   F_space_not (with error bit) if filesystem is out of space (or filesystem quota is reached).
- *   F_file_found (with error bit) of a directory aleady exists at the path.
+ *   F_loop (with error bit) on loop error.
+ *   F_memory_out (with error bit) if out of memory.
  *   F_name (with error bit) on path name error.
- *   F_directory (with error bit) if a supposed directory in path is not actually a directory.
+ *   F_parameter (with error bit) if a parameter is invalid.
+ *   F_prohibited (with error bit) if filesystem does not allow for making changes.
+ *   F_space_not (with error bit) if filesystem is out of space (or filesystem quota is reached).
  *   F_unsupported (with error bit) for unsupported file types.
+ *   F_failure (with error bit) for any other error.
  *
  * @see mkfifo()
  */
@@ -428,18 +429,19 @@ extern "C" {
  *
  * @return
  *   F_none on success.
- *   F_parameter (with error bit) if a parameter is invalid.
  *   F_access_denied (with error bit) on access denied.
+ *   F_directory (with error bit) if a supposed directory in path is not actually a directory.
+ *   F_directory_descriptor (with error bit) for bad directory descriptor for at_id.
  *   F_file_found (with error bit) if a file was found while exclusive is TRUE.
- *   F_prohibited (with error bit) if filesystem does not allow for removing.
- *   F_failure (with error bit) for any other (mknod()) error.
  *   F_filesystem_quota_block (with error bit) if filesystem's disk blocks or ififos are exhausted.
- *   F_space_not (with error bit) if filesystem is out of space (or filesystem quota is reached).
- *   F_file_found (with error bit) of a directory aleady exists at the path.
+ *   F_loop (with error bit) on loop error.
+ *   F_memory_out (with error bit) if out of memory.
  *   F_name (with error bit) on path name error.
- *   F_directory (with error bit) if a supposed directory in path is not actually a directory.
+ *   F_parameter (with error bit) if a parameter is invalid.
+ *   F_prohibited (with error bit) if filesystem does not allow for making changes.
+ *   F_space_not (with error bit) if filesystem is out of space (or filesystem quota is reached).
  *   F_unsupported (with error bit) for unsupported file types.
- *   F_directory_descriptor (with error bit) for bad directory descriptor for at_id.
+ *   F_failure (with error bit) for any other error.
  *
  * @see mkfifoat()
  */
@@ -465,19 +467,18 @@ extern "C" {
  *
  * @return
  *   F_none on success.
- *   F_parameter (with error bit) if a parameter is invalid.
  *   F_access_denied (with error bit) on access denied.
- *   F_loop (with error bit) on loop error.
+ *   F_directory (with error bit) if a supposed directory in path is not actually a directory.
  *   F_file_found (with error bit) if a file was found while exclusive is TRUE.
- *   F_memory_out (with error bit) if out of memory.
- *   F_prohibited (with error bit) if filesystem does not allow for removing.
- *   F_failure (with error bit) for any other (mknod()) error.
  *   F_filesystem_quota_block (with error bit) if filesystem's disk blocks or inodes are exhausted.
- *   F_space_not (with error bit) if filesystem is out of space (or filesystem quota is reached).
- *   F_file_found (with error bit) of a directory aleady exists at the path.
+ *   F_loop (with error bit) on loop error.
+ *   F_memory_out (with error bit) if out of memory.
  *   F_name (with error bit) on path name error.
- *   F_directory (with error bit) if a supposed directory in path is not actually a directory.
+ *   F_parameter (with error bit) if a parameter is invalid.
+ *   F_prohibited (with error bit) if filesystem does not allow for making changes.
+ *   F_space_not (with error bit) if filesystem is out of space (or filesystem quota is reached).
  *   F_unsupported (with error bit) for unsupported file types.
+ *   F_failure (with error bit) for any other error.
  *
  * @see f_file_create_device()
  * @see f_file_create_node()
@@ -506,20 +507,19 @@ extern "C" {
  *
  * @return
  *   F_none on success.
- *   F_parameter (with error bit) if a parameter is invalid.
  *   F_access_denied (with error bit) on access denied.
- *   F_loop (with error bit) on loop error.
+ *   F_directory (with error bit) if a supposed directory in path is not actually a directory.
+ *   F_directory_descriptor (with error bit) for bad directory descriptor for at_id.
  *   F_file_found (with error bit) if a file was found while exclusive is TRUE.
- *   F_memory_out (with error bit) if out of memory.
- *   F_prohibited (with error bit) if filesystem does not allow for removing.
- *   F_failure (with error bit) for any other (mknod()) error.
  *   F_filesystem_quota_block (with error bit) if filesystem's disk blocks or inodes are exhausted.
- *   F_space_not (with error bit) if filesystem is out of space (or filesystem quota is reached).
- *   F_file_found (with error bit) of a directory aleady exists at the path.
+ *   F_loop (with error bit) on loop error.
+ *   F_memory_out (with error bit) if out of memory.
  *   F_name (with error bit) on path name error.
- *   F_directory (with error bit) if a supposed directory in path is not actually a directory.
+ *   F_parameter (with error bit) if a parameter is invalid.
+ *   F_prohibited (with error bit) if filesystem does not allow for making changes.
+ *   F_space_not (with error bit) if filesystem is out of space (or filesystem quota is reached).
+ *   F_failure (with error bit) for any other error.
  *   F_unsupported (with error bit) for unsupported file types.
- *   F_directory_descriptor (with error bit) for bad directory descriptor for at_id.
  *
  * @see f_file_create_device_at()
  * @see f_file_create_node_at()
@@ -538,10 +538,10 @@ extern "C" {
  *
  * @return
  *   F_none is returned on success.
- *   F_parameter (with error bit) if a parameter is invalid.
  *   F_file_descriptor (with error bit) if file descriptor is invalid.
- *   F_input_output (with error bit) on I/O error.
  *   F_filesystem_quota_block (with error bit) if filesystem's disk blocks or inodes are exhausted.
+ *   F_input_output (with error bit) on I/O error.
+ *   F_parameter (with error bit) if a parameter is invalid.
  *   F_space_not (with error bit) if filesystem is out of space (or filesystem quota is reached).
  *   F_unsupported (with error bit) if the file system or file type does not support flushing.
  *   F_failure (with error bit) on any other failure.
@@ -566,22 +566,22 @@ extern "C" {
  *
  * @return
  *   F_none on success.
- *   F_parameter (with error bit) if a parameter is invalid.
  *   F_access_denied (with error bit) on access denied.
- *   F_filesystem_quota_block (with error bit) if filesystem's disk blocks or inodes are exhausted.
- *   F_file_found (with error bit) if a file aleady exists at the path.
- *   F_name (with error bit) on path name error.
  *   F_buffer (with error bit) if the buffer is invalid.
- *   F_number_overflow (with error bit) on overflow error.
- *   F_interrupted (with error bit) when program received an interrupt signal, halting create.
- *   F_loop (with error bit) on loop error.
+ *   F_busy (with error bit) if filesystem is too busy to perforrm write.
+ *   F_file_found (with error bit) if a file aleady exists at the path.
  *   F_file_found_not (with error bit) if a parent path in point does not exist or is a broken symlink.
+ *   F_filesystem_quota_block (with error bit) if filesystem's disk blocks or inodes are exhausted.
  *   F_directory (with error bit) if a supposed directory in path is not actually a directory.
+ *   F_interrupted (with error bit) when program received an interrupt signal, halting operation.
+ *   F_loop (with error bit) on loop error.
  *   F_memory_out (with error bit) if out of memory.
+ *   F_name (with error bit) on path name error.
+ *   F_number_overflow (with error bit) on overflow error.
+ *   F_parameter (with error bit) if a parameter is invalid.
  *   F_prohibited (with error bit) if filesystem does not allow for creating or linking.
  *   F_read_only (with error bit) if filesystem is read-only.
- *   F_busy (with error bit) if filesystem is too busy to perforrm write.
- *   F_failure (with error bit) for any other (symlink()) error.
+ *   F_failure (with error bit) for any other error.
  *
  * @see f_file_copy()
  * @see f_file_link()
@@ -604,23 +604,23 @@ extern "C" {
  *
  * @return
  *   F_none on success.
- *   F_parameter (with error bit) if a parameter is invalid.
  *   F_access_denied (with error bit) on access denied.
- *   F_filesystem_quota_block (with error bit) if filesystem's disk blocks or inodes are exhausted.
- *   F_file_found (with error bit) if a file aleady exists at the path.
- *   F_name (with error bit) on path name error.
+ *   F_busy (with error bit) if filesystem is too busy to perforrm write.
  *   F_buffer (with error bit) if the buffer is invalid.
- *   F_number_overflow (with error bit) on overflow error.
- *   F_interrupted (with error bit) when program received an interrupt signal, halting create.
- *   F_loop (with error bit) on loop error.
- *   F_file_found_not (with error bit) if a parent path in point does not exist or is a broken symlink.
  *   F_directory (with error bit) if a supposed directory in path is not actually a directory.
+ *   F_directory_descriptor (with error bit) for bad directory descriptor for at_id.
+ *   F_file_found (with error bit) if a file aleady exists at the path.
+ *   F_file_found_not (with error bit) if a parent path in point does not exist or is a broken symlink.
+ *   F_filesystem_quota_block (with error bit) if filesystem's disk blocks or inodes are exhausted.
+ *   F_interrupted (with error bit) when program received an interrupt signal, halting operation.
+ *   F_loop (with error bit) on loop error.
  *   F_memory_out (with error bit) if out of memory.
+ *   F_name (with error bit) on path name error.
+ *   F_number_overflow (with error bit) on overflow error.
+ *   F_parameter (with error bit) if a parameter is invalid.
  *   F_prohibited (with error bit) if filesystem does not allow for creating or linking.
  *   F_read_only (with error bit) if filesystem is read-only.
- *   F_busy (with error bit) if filesystem is too busy to perforrm write.
- *   F_directory_descriptor (with error bit) for bad directory descriptor for at_id.
- *   F_failure (with error bit) for any other (symlink()) error.
+ *   F_failure (with error bit) for any other error.
  *
  * @see f_file_link_at()
  */
@@ -643,17 +643,17 @@ extern "C" {
  *
  * @return
  *   F_none on success.
- *   F_parameter (with error bit) if a parameter is invalid.
- *   F_string_too_large (with error bit) if link target path is too large for string buffer size.
  *   F_access_denied (with error bit) on access denied.
  *   F_buffer (with error bit) if the buffer is invalid.
+ *   F_directory (with error bit) if a supposed directory in path is not actually a directory.
+ *   F_file_found_not (with error bit) if the file at path was not found.
  *   F_input_output (with error bit) on I/O error.
  *   F_loop (with error bit) on loop error.
- *   F_name (with error bit) on path name error.
- *   F_file_found_not (with error bit) if the file at path was not found.
  *   F_memory_out (with error bit) if out of memory.
- *   F_directory (with error bit) if a supposed directory in path is not actually a directory.
- *   F_failure (with error bit) for any other (readlink()) error.
+ *   F_name (with error bit) on path name error.
+ *   F_parameter (with error bit) if a parameter is invalid.
+ *   F_string_too_large (with error bit) if link target path is too large for string buffer size.
+ *   F_failure (with error bit) for any other error.
  *
  * @see f_file_link_read()
  */
@@ -678,18 +678,18 @@ extern "C" {
  *
  * @return
  *   F_none on success.
- *   F_parameter (with error bit) if a parameter is invalid.
- *   F_string_too_large (with error bit) if link target path is too large for string buffer size.
  *   F_access_denied (with error bit) on access denied.
  *   F_buffer (with error bit) if the buffer is invalid.
+ *   F_directory (with error bit) if a supposed directory in path is not actually a directory.
+ *   F_directory_descriptor (with error bit) for bad directory descriptor for at_id.
+ *   F_file_found_not (with error bit) if the file at path was not found.
  *   F_input_output (with error bit) on I/O error.
  *   F_loop (with error bit) on loop error.
- *   F_name (with error bit) on path name error.
- *   F_file_found_not (with error bit) if the file at path was not found.
  *   F_memory_out (with error bit) if out of memory.
- *   F_directory (with error bit) if a supposed directory in path is not actually a directory.
- *   F_directory_descriptor (with error bit) for bad directory descriptor for at_id.
- *   F_failure (with error bit) for any other (readlinkat()) error.
+ *   F_name (with error bit) on path name error.
+ *   F_parameter (with error bit) if a parameter is invalid.
+ *   F_string_too_large (with error bit) if link target path is too large for string buffer size.
+ *   F_failure (with error bit) for any other error.
  *
  * @see f_file_link_read_at()
  */
@@ -713,9 +713,9 @@ extern "C" {
  *
  * @return
  *   F_none on success.
+ *   F_file_descriptor (with error bit) if unable to load the file descriptor (the file pointer may still be valid).
  *   F_file_found_not (with error bit) if the file was not found.
  *   F_file_open (with error bit) if the file is already open.
- *   F_file_descriptor (with error bit) if unable to load the file descriptor (the file pointer may still be valid).
  *   F_parameter (with error bit) if a parameter is invalid.
  *
  * @see f_file_copy()
@@ -743,9 +743,9 @@ extern "C" {
  *
  * @return
  *   F_none on success.
+ *   F_directory_descriptor (with error bit) for bad directory descriptor for at_id.
  *   F_file_found_not (with error bit) if the file was not found.
  *   F_file_open (with error bit) if the file is already open.
- *   F_directory_descriptor (with error bit) for bad directory descriptor for at_id.
  *   F_parameter (with error bit) if a parameter is invalid.
  *
  * @see f_file_open_at()
@@ -769,13 +769,13 @@ extern "C" {
  *
  * @return
  *   F_none on success.
- *   F_name (with error bit) if the name is somehow invalid.
- *   F_memory_out (with error bit) if out of memory.
- *   F_number_overflow (with error bit) on overflow error.
+ *   F_access_denied (with error bit) if access to the file was denied.
  *   F_directory (with error bit) on invalid directory.
  *   F_file_found_not (with error bit) if the file was not found.
- *   F_access_denied (with error bit) if access to the file was denied.
  *   F_loop (with error bit) if a loop occurred.
+ *   F_memory_out (with error bit) if out of memory.
+ *   F_name (with error bit) if the name is somehow invalid.
+ *   F_number_overflow (with error bit) on overflow error.
  *   F_parameter (with error bit) if a parameter is invalid.
  *
  * @see f_file_copy()
@@ -803,13 +803,13 @@ extern "C" {
  *
  * @return
  *   F_none on success.
- *   F_name (with error bit) if the name is somehow invalid.
- *   F_memory_out (with error bit) if out of memory.
- *   F_number_overflow (with error bit) on overflow error.
+ *   F_access_denied (with error bit) if access to the file was denied.
  *   F_directory (with error bit) on invalid directory.
  *   F_file_found_not (with error bit) if the file was not found.
- *   F_access_denied (with error bit) if access to the file was denied.
  *   F_loop (with error bit) if a loop occurred.
+ *   F_memory_out (with error bit) if out of memory.
+ *   F_name (with error bit) if the name is somehow invalid.
+ *   F_number_overflow (with error bit) on overflow error.
  *   F_parameter (with error bit) if a parameter is invalid.
  *
  * @see f_file_stat_at()
@@ -832,13 +832,13 @@ extern "C" {
  *
  * @return
  *   F_none on success.
- *   F_name (with error bit) if the name is somehow invalid.
- *   F_memory_out (with error bit) if out of memory.
- *   F_number_overflow (with error bit) on overflow error.
+ *   F_access_denied (with error bit) if access to the file was denied.
  *   F_directory (with error bit) on invalid directory.
  *   F_file_found_not (with error bit) if the file was not found.
- *   F_access_denied (with error bit) if access to the file was denied.
  *   F_loop (with error bit) if a loop occurred.
+ *   F_memory_out (with error bit) if out of memory.
+ *   F_name (with error bit) if the name is somehow invalid.
+ *   F_number_overflow (with error bit) on overflow error.
  *   F_parameter (with error bit) if a parameter is invalid.
  *
  * @see f_file_size_by_id()
@@ -866,15 +866,15 @@ extern "C" {
  * @return
  *   F_none on success.
  *   F_none_stop on success but no data was written (written == 0) (not an error and often happens if file type is not a regular file).
- *   F_none_eos on success but range.stop exceeded buffer.used (only wrote up to buffer.used).
- *   F_parameter (with error bit) if a parameter is invalid.
  *   F_block (with error bit) if file descriptor is set to non-block and the write would result in a blocking operation.
- *   F_file_descriptor (with error bit) if the file descriptor is invalid.
  *   F_buffer (with error bit) if the buffer is invalid.
- *   F_interrupted (with error bit) if interrupt was received.
- *   F_input_output (with error bit) on I/O error.
+ *   F_file (with error bit) if file descriptor is in an error state.
  *   F_file_closed (with error bit) if file is not open.
+ *   F_file_descriptor (with error bit) if the file descriptor is invalid.
  *   F_file_type_directory (with error bit) if file descriptor represents a directory.
+ *   F_input_output (with error bit) on I/O error.
+ *   F_interrupted (with error bit) if interrupt was received.
+ *   F_parameter (with error bit) if a parameter is invalid.
  *
  * @see f_file_write()
  * @see f_file_write_range()
index 345e77db2c34f2f91ffe57981e4608bff032ecfd..b6a70a3c5514e0b2b94559a322c888f1e1d76f76 100644 (file)
@@ -76,10 +76,10 @@ extern "C" {
  *
  * @return
  *   F_none on success.
- *   F_parameter (with error bit) if a parameter is invalid.
+ *   F_buffer_too_large (with error bit) if paths array is too large for further addressing.
  *   F_memory_reallocation (with error bit) on reallocation error.
  *   F_memory_allocation (with error bit) on allocation error.
- *   F_buffer_too_large (with error bit) if paths array is too large for further addressing.
+ *   F_parameter (with error bit) if a parameter is invalid.
  */
 #ifndef _di_f_path_explode_
   extern f_return_status f_path_explode(const f_string path, f_string_dynamics *paths);
@@ -100,10 +100,10 @@ extern "C" {
  *
  * @return
  *   F_none on success.
- *   F_parameter (with error bit) if a parameter is invalid.
+ *   F_buffer_too_large (with error bit) if paths array is too large for further addressing.
  *   F_memory_reallocation (with error bit) on reallocation error.
  *   F_memory_allocation (with error bit) on allocation error.
- *   F_buffer_too_large (with error bit) if paths array is too large for further addressing.
+ *   F_parameter (with error bit) if a parameter is invalid.
  */
 #ifndef _di_f_path_explode_dynamic_
   extern f_return_status f_path_explode_dynamic(const f_string_static path, f_string_dynamics *paths);
@@ -126,10 +126,10 @@ extern "C" {
  *
  * @return
  *   F_none on success.
- *   F_parameter (with error bit) if a parameter is invalid.
+ *   F_buffer_too_large (with error bit) if paths array is too large for further addressing.
  *   F_memory_reallocation (with error bit) on reallocation error.
  *   F_memory_allocation (with error bit) on allocation error.
- *   F_buffer_too_large (with error bit) if paths array is too large for further addressing.
+ *   F_parameter (with error bit) if a parameter is invalid.
  */
 #ifndef _di_f_path_explode_reverse_
   extern f_return_status f_path_explode_reverse(const f_string path, f_string_dynamics *paths);
@@ -152,10 +152,10 @@ extern "C" {
  *
  * @return
  *   F_none on success.
- *   F_parameter (with error bit) if a parameter is invalid.
+ *   F_buffer_too_large (with error bit) if paths array is too large for further addressing.
  *   F_memory_reallocation (with error bit) on reallocation error.
  *   F_memory_allocation (with error bit) on allocation error.
- *   F_buffer_too_large (with error bit) if paths array is too large for further addressing.
+ *   F_parameter (with error bit) if a parameter is invalid.
  */
 #ifndef _di_f_path_explode_reverse_dynamic_
   extern f_return_status f_path_explode_reverse_dynamic(const f_string_static path, f_string_dynamics *paths);
index b9c20e8daf945c6427c328292f1449296d651e4d..7552517596bc64117a56afb7dbfc6d1ac928307f 100644 (file)
@@ -8,7 +8,7 @@
  * Provide locations to all fll-specific paths
  * It is planned to have this file auto-generated from a single /etc/fll file such that one file can be used for all supported languages.
  *
- * FIXME: this is very outdated due to numerous structural changes while I was developing turtle kevux.
+ * @fixme this is very outdated due to numerous structural changes while I was developing turtle kevux.
  */
 #ifndef _F_path_fll_h
 #define _F_path_fll_h
index d83f4b3221969d264addc7477c97832e837f3a50..e65a8d789c4137a2294d8670854d96dc583fa144 100644 (file)
@@ -28,8 +28,8 @@ extern "C" {
  * Identify whether or not the standard input pipe source contains piped data.
  *
  * @return
- *   F_true if there is piped data.
  *   F_false if there is no piped data.
+ *   F_true if there is piped data.
  *   F_file_stat (with error bit) on stat() error.
  *
  * @see fstat()
@@ -44,8 +44,8 @@ extern "C" {
  * For most systems, standard warning does not exist and instead maps to standard output.
  *
  * @return
- *   F_true if there is piped data.
  *   F_false if there is no piped data.
+ *   F_true if there is piped data.
  *   F_file_stat (with error bit) on stat() error.
  *
  * @see fstat()
@@ -58,8 +58,8 @@ extern "C" {
  * Identify whether or not the standard error pipe source contains piped data.
  *
  * @return
- *   F_true if there is piped data.
  *   F_false if there is no piped data.
+ *   F_true if there is piped data.
  *   F_file_stat (with error bit) on stat() error.
  *
  * @see fstat()
@@ -74,8 +74,8 @@ extern "C" {
  * For most systems, standard debug does not exist and instead maps to standard output.
  *
  * @return
- *   F_true if there is piped data.
  *   F_false if there is no piped data.
+ *   F_true if there is piped data.
  *   F_file_stat (with error bit) on stat() error.
  *
  * @see fstat()
index de4f7a8f4185f612694ada4483f98e2ea275890b..b696eb1529babc06adb93159ba7061e0089ac90f 100644 (file)
@@ -140,8 +140,8 @@ extern "C" {
  *   The number of bytes repesenting the character width.
  *
  * @return
- *   F_true if a UTF-8 character.
  *   F_false if not a UTF-8 character.
+ *   F_true if a UTF-8 character.
  *   F_utf (with error bit) if character is an invalid UTF-8 character.
  *
  * @see f_utf_character_is_valid()
@@ -160,8 +160,8 @@ extern "C" {
  *   The character to validate.
  *
  * @return
- *   F_true if a UTF-8 whitespace.
  *   F_false if not a UTF-8 whitespace.
+ *   F_true if a UTF-8 whitespace.
  *   F_utf (with error bit) if character is an invalid UTF-8 character.
  *
  * @see f_utf_character_is_whitespace()
@@ -228,8 +228,8 @@ extern "C" {
  *   The number of bytes repesenting the character width.
  *
  * @return
- *   F_true if a UTF-8 control character.
  *   F_false if not a UTF-8 control character.
+ *   F_true if a UTF-8 control character.
  *   F_utf (with error bit) if character is an invalid UTF-8 character.
  *
  * @see iscntrl()
@@ -249,8 +249,8 @@ extern "C" {
  *   The character to validate.
  *
  * @return
- *   F_true if a UTF-8 non-printing or zero-width character.
  *   F_false if not a UTF-8 non-printing or zero-width character.
+ *   F_true if a UTF-8 non-printing or zero-width character.
  *   F_utf (with error bit) if character is an invalid UTF-8 character.
  *
  * @see f_utf_character_is_zero_width()
index 390b867e43aebb97e4a5088e7bf90fd0f02ce0e6..20c50bb435d32dcfcb3c8d813a408278e2f5aa92 100644 (file)
@@ -578,8 +578,8 @@ extern "C" {
  *   The character to validate.
  *
  * @return
- *   F_true if a UTF-8 character.
  *   F_false if not a UTF-8 character.
+ *   F_true if a UTF-8 character.
  *   F_utf (with error bit) if character is an invalid UTF-8 character.
  *
  * @see f_utf_character_is_valid()
@@ -598,8 +598,8 @@ extern "C" {
  *   The character to validate.
  *
  * @return
- *   F_true if a UTF-8 alphabet character.
  *   F_false if not a UTF-8 alphabet character.
+ *   F_true if a UTF-8 alphabet character.
  *   F_utf (with error bit) if character is an invalid UTF-8 character.
  *
  * @see iscntrl()
@@ -618,8 +618,8 @@ extern "C" {
  *   The character to validate.
  *
  * @return
- *   F_true if a UTF-8 alpha-numeric character.
  *   F_false if not a UTF-8 alpha-numeric character.
+ *   F_true if a UTF-8 alpha-numeric character.
  *   F_utf (with error bit) if character is an invalid UTF-8 character.
  *
  * @see iscntrl()
@@ -636,8 +636,8 @@ extern "C" {
  *   The character to validate.
  *
  * @return
- *   F_true if a UTF-8 control character.
  *   F_false if not a UTF-8 control character.
+ *   F_true if a UTF-8 control character.
  *   F_utf (with error bit) if character is an invalid UTF-8 character.
  *
  * @see iscntrl()
@@ -656,8 +656,8 @@ extern "C" {
  *   The character to validate.
  *
  * @return
- *   F_true if a UTF-8 control picture character.
  *   F_false if not a UTF-8 control picture character.
+ *   F_true if a UTF-8 control picture character.
  *   F_utf (with error bit) if character is an invalid UTF-8 character.
  *
  * @see f_utf_is_control_picture()
@@ -678,8 +678,8 @@ extern "C" {
  *   The character to validate.
  *
  * @return
- *   F_true if a UTF-8 character.
  *   F_false if not a UTF-8 character.
+ *   F_true if a UTF-8 character.
  *   F_utf (with error bit) if character is an invalid UTF-8 character.
  *
  * @see f_utf_character_is()
@@ -697,8 +697,8 @@ extern "C" {
  *   The character to validate.
  *
  * @return
- *   F_true if a UTF-8 graph.
  *   F_false if not a UTF-8 graph.
+ *   F_true if a UTF-8 graph.
  *   F_utf (with error bit) if character is an invalid UTF-8 character.
  *
  * @see isgraph()
@@ -717,8 +717,8 @@ extern "C" {
  *   The character to validate.
  *
  * @return
- *   F_true if a UTF-8 numeric character.
  *   F_false if not a UTF-8 numeric character.
+ *   F_true if a UTF-8 numeric character.
  *   F_utf (with error bit) if character is an invalid UTF-8 character.
  *
  * @see iscntrl()
@@ -742,8 +742,8 @@ extern "C" {
  *   The character to validate.
  *
  * @return
- *   F_true if a UTF-8 character.
  *   F_false if not a UTF-8 character.
+ *   F_true if a UTF-8 character.
  *   F_utf (with error bit) if character is an invalid UTF-8 character.
  *
  * @see f_utf_character_is()
@@ -764,8 +764,8 @@ extern "C" {
  *   The character to validate.
  *
  * @return
- *   F_true if a UTF-8 whitespace.
  *   F_false if not a UTF-8 whitespace.
+ *   F_true if a UTF-8 whitespace.
  *   F_utf (with error bit) if character is an invalid UTF-8 character.
  *
  * @see f_utf_is_whitespace()
@@ -785,8 +785,8 @@ extern "C" {
  *   The character to validate.
  *
  * @return
- *   F_true if a UTF-8 word character.
  *   F_false if not a UTF-8 word character.
+ *   F_true if a UTF-8 word character.
  *   F_utf (with error bit) if character is an invalid UTF-8 character.
  *
  * @see iscntrl()
@@ -807,8 +807,8 @@ extern "C" {
  *   The character to validate.
  *
  * @return
- *   F_true if a UTF-8 word or dash character.
  *   F_false if not a UTF-8 word or dash character.
+ *   F_true if a UTF-8 word or dash character.
  *   F_utf (with error bit) if character is an invalid UTF-8 character.
  *
  * @see iscntrl()
@@ -829,8 +829,8 @@ extern "C" {
  *   The character to validate.
  *
  * @return
- *   F_true if a UTF-8 word or dash character.
  *   F_false if not a UTF-8 word or dash character.
+ *   F_true if a UTF-8 word or dash character.
  *   F_utf (with error bit) if character is an invalid UTF-8 character.
  *
  * @see iscntrl()
@@ -849,8 +849,8 @@ extern "C" {
  *   The character to validate.
  *
  * @return
- *   F_true if a UTF-8 non-printing or zero-width character.
  *   F_false if not a UTF-8 non-printing or zero-width character.
+ *   F_true if a UTF-8 non-printing or zero-width character.
  *   F_utf (with error bit) if character is an invalid UTF-8 character.
  *
  * @see f_utf_is_zero_width()
@@ -870,8 +870,8 @@ extern "C" {
  *   The character to validate.
  *
  * @return
- *   F_true if a UTF-8 alpha character.
  *   F_false if not a UTF-8 alpha character.
+ *   F_true if a UTF-8 alpha character.
  *   F_utf (with error bit) if character is an invalid UTF-8 character.
  *
  * @see iscntrl()
@@ -900,9 +900,9 @@ extern "C" {
  * @return
  *   F_none if conversion was successful.
  *   F_failure (with error bit) if width is not long enough to convert.
- *   F_utf (with error bit) if character is an invalid UTF-8 character.
  *   F_parameter (with error bit) if a parameter is invalid.
  *   F_memory_allocation (with error bit) on memory allocation error.
+ *   F_utf (with error bit) if character is an invalid UTF-8 character.
  *   F_failure (with error bit) if width is not long enough to convert.
  */
 #ifndef _di_f_utf_character_to_char_
@@ -915,8 +915,8 @@ extern "C" {
  * @todo relocate this outside of f_utf into a more general path, perhaps f_memory (f_memory_is_big_endian).
  *
  * @return
- *   F_true if the system is big-endian.
  *   F_false if the system is little-endian.
+ *   F_true if the system is big-endian.
  */
 #ifndef _di_f_utf_is_big_endian_
   extern f_return_status f_utf_is_big_endian();
@@ -935,8 +935,8 @@ extern "C" {
  *   Can be anything greater than 0.
  *
  * @return
- *   F_true if a UTF-8 character.
  *   F_false if not a UTF-8 character.
+ *   F_true if a UTF-8 character.
  *   F_incomplete_utf (with error bit) if character is an incomplete UTF-8 fragment.
  *   F_parameter (with error bit) if a parameter is invalid.
  *
@@ -960,8 +960,8 @@ extern "C" {
  *   Can be anything greater than 0.
  *
  * @return
- *   F_true if a UTF-8 alphabet character.
  *   F_false if not a UTF-8 alphabet character.
+ *   F_true if a UTF-8 alphabet character.
  *   F_incomplete_utf (with error bit) if character is an incomplete UTF-8 fragment.
  *
  * @see iscntrl()
@@ -984,8 +984,8 @@ extern "C" {
  *   Can be anything greater than 0.
  *
  * @return
- *   F_true if a UTF-8 alpha-numeric character.
  *   F_false if not a UTF-8 alpha-numeric character.
+ *   F_true if a UTF-8 alpha-numeric character.
  *   F_incomplete_utf (with error bit) if character is an incomplete UTF-8 fragment.
  *
  * @see iscntrl()
@@ -1006,8 +1006,8 @@ extern "C" {
  *   Can be anything greater than 0.
  *
  * @return
- *   F_true if a UTF-8 control character.
  *   F_false if not a UTF-8 control character.
+ *   F_true if a UTF-8 control character.
  *   F_incomplete_utf (with error bit) if character is an incomplete UTF-8 fragment.
  *
  * @see iscntrl()
@@ -1030,8 +1030,8 @@ extern "C" {
  *   Can be anything greater than 0.
  *
  * @return
- *   F_true if a UTF-8 control picture character.
  *   F_false if not a UTF-8 control picture character.
+ *   F_true if a UTF-8 control picture character.
  *   F_incomplete_utf (with error bit) if character is an incomplete UTF-8 fragment.
  *
  * @see f_utf_character_is_control_picture()
@@ -1067,8 +1067,8 @@ extern "C" {
  *   Can be anything greater than 0.
  *
  * @return
- *   F_true if a UTF-8 character.
  *   F_false if not a UTF-8 character.
+ *   F_true if a UTF-8 character.
  *
  * @see f_utf_character_is()
  * @see f_utf_character_is_valid()
@@ -1089,10 +1089,10 @@ extern "C" {
  *   Can be anything greater than 0.
  *
  * @return
- *   F_true if a UTF-8 graph.
  *   F_false if not a UTF-8 graph.
- *   F_maybe (with error bit) if this could be a graph but width is not long enough.
+ *   F_true if a UTF-8 graph.
  *   F_incomplete_utf (with error bit) if character is an incomplete UTF-8 fragment.
+ *   F_maybe (with error bit) if this could be a graph but width is not long enough.
  *   F_parameter (with error bit) if a parameter is invalid.
  *
  * @see isgraph()
@@ -1116,8 +1116,8 @@ extern "C" {
  *   Can be anything greater than 0.
  *
  * @return
- *   F_true if a UTF-8 numeric character.
  *   F_false if not a UTF-8 numeric character.
+ *   F_true if a UTF-8 numeric character.
  *   F_incomplete_utf (with error bit) if character is an incomplete UTF-8 fragment.
  *
  * @see iscntrl()
@@ -1144,8 +1144,8 @@ extern "C" {
  *   Can be anything greater than 0.
  *
  * @return
- *   F_true if a valid UTF-8 character.
  *   F_false if not a valid UTF-8 character.
+ *   F_true if a valid UTF-8 character.
  *   F_incomplete_utf (with error bit) if character is an incomplete UTF-8 fragment.
  *   F_parameter (with error bit) if a parameter is invalid.
  *
@@ -1168,10 +1168,10 @@ extern "C" {
  *   Can be anything greater than 0.
  *
  * @return
- *   F_true if a UTF-8 whitespace.
  *   F_false if not a UTF-8 whitespace.
- *   F_maybe (with error bit) if this could be a whitespace but width is not long enough.
+ *   F_true if a UTF-8 whitespace.
  *   F_incomplete_utf (with error bit) if character is an incomplete UTF-8 fragment.
+ *   F_maybe (with error bit) if this could be a whitespace but width is not long enough.
  *   F_parameter (with error bit) if a parameter is invalid.
  *
  * @see isspace()
@@ -1197,8 +1197,8 @@ extern "C" {
  *   Can be anything greater than 0.
  *
  * @return
- *   F_true if a UTF-8 word character.
  *   F_false if not a UTF-8 word character.
+ *   F_true if a UTF-8 word character.
  *   F_incomplete_utf (with error bit) if character is an incomplete UTF-8 fragment.
  *
  * @see iscntrl()
@@ -1223,8 +1223,8 @@ extern "C" {
  *   Can be anything greater than 0.
  *
  * @return
- *   F_true if a UTF-8 word or dash character.
  *   F_false if not a UTF-8 word or dash character.
+ *   F_true if a UTF-8 word or dash character.
  *   F_incomplete_utf (with error bit) if character is an incomplete UTF-8 fragment.
  *
  * @see iscntrl()
@@ -1249,8 +1249,8 @@ extern "C" {
  *   Can be anything greater than 0.
  *
  * @return
- *   F_true if a UTF-8 word or dash character.
  *   F_false if not a UTF-8 word or dash character.
+ *   F_true if a UTF-8 word or dash character.
  *   F_incomplete_utf (with error bit) if character is an incomplete UTF-8 fragment.
  *
  * @see iscntrl()
@@ -1273,10 +1273,10 @@ extern "C" {
  *   Can be anything greater than 0.
  *
  * @return
- *   F_true if a UTF-8 whitespace.
  *   F_false if not a UTF-8 whitespace.
- *   F_maybe (with error bit) if this could be a whitespace but width is not long enough.
+ *   F_true if a UTF-8 whitespace.
  *   F_incomplete_utf (with error bit) if character is an incomplete UTF-8 fragment.
+ *   F_maybe (with error bit) if this could be a whitespace but width is not long enough.
  *   F_parameter (with error bit) if a parameter is invalid.
  *
  * @see isspace()
@@ -1303,8 +1303,8 @@ extern "C" {
  * @return
  *   F_none if conversion was successful.
  *   F_failure (with error bit) if width is not long enough to convert.
- *   F_utf (with error bit) if character is an invalid UTF-8 character.
  *   F_parameter (with error bit) if a parameter is invalid.
+ *   F_utf (with error bit) if character is an invalid UTF-8 character.
  */
 #ifndef _di_f_utf_char_to_character_
   extern f_return_status f_utf_char_to_character(const f_string character, const f_string_length width_max, f_utf_character *character_utf);
index d2d4145a9a114e5787f629a2125abd72107dfff9..b321c43356e3aeea56ae8ee84b9d8af15f6b0cf3 100644 (file)
@@ -179,8 +179,8 @@ extern "C" {
  *
  * @return
  *   F_none on success.
- *   F_parameter (with error bit) if a parameter is invalid.
  *   F_memory_reallocation (with error bit) on memory reallocation error.
+ *   F_parameter (with error bit) if a parameter is invalid.
  */
 #ifndef _di_fl_color_save_
   extern f_return_status fl_color_save(f_string_dynamic *buffer, const f_color_format format, const int8_t *color1, const int8_t *color2, const int8_t *color3, const int8_t *color4, const int8_t *color5);
@@ -212,8 +212,8 @@ extern "C" {
  *
  * @return
  *   F_none on success.
- *   F_parameter (with error bit) if a parameter is invalid.
  *   F_output (with error bit) on output error.
+ *   F_parameter (with error bit) if a parameter is invalid.
  */
 #ifndef _di_fl_color_print_
   extern f_return_status fl_color_print(FILE *file, const f_string_static start_color, const f_string_static end_color, const int8_t *string, ...);
@@ -244,8 +244,8 @@ extern "C" {
  *
  * @return
  *   F_none on success.
- *   F_parameter (with error bit) if a parameter is invalid.
  *   F_output (with error bit) on output error.
+ *   F_parameter (with error bit) if a parameter is invalid.
  */
 #ifndef _di_fl_color_print2_
   extern f_return_status fl_color_print2(FILE *file, const f_string_static start_color, const f_string_static extra_color, const f_string_static end_color, const int8_t *string, ...);
@@ -271,8 +271,8 @@ extern "C" {
  *
  * @return
  *   F_none on success.
- *   F_parameter (with error bit) if a parameter is invalid.
  *   F_output (with error bit) on output error.
+ *   F_parameter (with error bit) if a parameter is invalid.
  */
 #ifndef _di_fl_color_print_line_
   extern f_return_status fl_color_print_line(FILE *file, const f_string_static start_color, const f_string_static end_color, const int8_t *string, ...);
@@ -303,8 +303,8 @@ extern "C" {
  *
  * @return
  *   F_none on success.
- *   F_parameter (with error bit) if a parameter is invalid.
  *   F_output (with error bit) on output error.
+ *   F_parameter (with error bit) if a parameter is invalid.
  */
 #ifndef _di_fl_color_print2_line_
   extern f_return_status fl_color_print2_line(FILE *file, const f_string_static start_color, const f_string_static extra_color, const f_string_static end_color, const int8_t *string, ...);
@@ -322,8 +322,8 @@ extern "C" {
  *
  * @return
  *   F_none on success.
- *   F_parameter (with error bit) if a parameter is invalid.
  *   F_output (with error bit) on output error.
+ *   F_parameter (with error bit) if a parameter is invalid.
  */
 #ifndef _di_fl_color_print_code_
   extern f_return_status fl_color_print_code(FILE *file, const f_string_static color);
@@ -343,8 +343,8 @@ extern "C" {
  *
  * @return
  *   F_none on success.
- *   F_parameter (with error bit) if a parameter is invalid.
  *   F_memory_reallocation (with error bit) on memory reallocation error.
+ *   F_parameter (with error bit) if a parameter is invalid.
  */
 #ifndef _di_fl_color_load_context_
   extern f_return_status fl_color_load_context(fl_color_context *context, const bool use_light_colors);
index de61f9aa4487a106bfed8b2f6296e54ba9ac79ec..818d47de48b24c62ab265bb6cae223dfbfefb05d 100644 (file)
@@ -161,8 +161,8 @@ extern "C" {
       if (argument == 0) return F_status_set_error(F_parameter);
     #endif // _di_level_0_parameter_checking_f
 
-    if (argument[0] == '\0') {
-      return F_status_set_error(F_data_not);
+    if (argument[0] == 0) {
+      return F_data_not;
     }
 
     f_string_range range = f_string_range_initialize;
@@ -179,8 +179,8 @@ extern "C" {
       if (argument == 0) return F_status_set_error(F_parameter);
     #endif // _di_level_0_parameter_checking_f
 
-    if (argument[0] == '\0') {
-      return F_status_set_error(F_data_not);
+    if (argument[0] == 0) {
+      return F_data_not;
     }
 
     f_string_range range = f_string_range_initialize;
index 643477e9705dc152c918ff24de7bc5c3ed100774..de51898b15121e1e687ff32e538b197800968b74 100644 (file)
@@ -79,12 +79,12 @@ extern "C" {
  *
  * @return
  *   F_none on success.
- *   F_data_not (with error bit) if string starts wth a null (length is 0).
- *   F_parameter (with error bit) if a parameter is invalid.
+ *   F_data_not if string starts wth a null (length is 0).
  *   F_number (with error bit) if parameter is not a number.
  *   F_number_overflow (with error bit) on integer overflow.
  *   F_number_underflow (with error bit) on integer underflow.
  *   F_incomplete_utf (with error bit) if an incomplete UTF-8 fragment is found.
+ *   F_parameter (with error bit) if a parameter is invalid.
  *
  * @see f_conversion_string_to_number_signed()
  */
@@ -114,12 +114,12 @@ extern "C" {
  *
  * @return
  *   F_none on success.
- *   F_data_not (with error bit) if string starts wth a null (length is 0).
- *   F_parameter (with error bit) if a parameter is invalid.
+ *   F_data_not if string starts wth a null (length is 0).
  *   F_number (with error bit) if parameter is not a number.
  *   F_number_negative (with error bit) on negative value.
  *   F_number_overflow (with error bit) on integer overflow.
  *   F_incomplete_utf (with error bit) if an incomplete UTF-8 fragment is found.
+ *   F_parameter (with error bit) if a parameter is invalid.
  *
  * @see f_conversion_string_to_number_unsigned()
  */
index fdb489d0681ccaece863bbbcb3cd0cd78787bed8..8877690890418f8378b0e861332e6280f194b517 100644 (file)
@@ -99,7 +99,7 @@ extern "C" {
  *   F_name (with error bit) on path name error.
  *   F_directory (with error bit) if a supposed directory in path is not actually a directory.
  *   F_number_overflow (with error bit) on overflow error.
- *   F_interrupted (with error bit) when program received an interrupt signal, halting create.
+ *   F_interrupted (with error bit) when program received an interrupt signal, halting operation.
  *   F_file_open_max (with error bit) when system-wide max open files is reached.
  *   F_busy (with error bit) if filesystem is too busy to perforrm write.
  *   F_file_read (with error bit) on file read error.
@@ -168,7 +168,7 @@ extern "C" {
  *   F_name (with error bit) on path name error.
  *   F_directory (with error bit) if a supposed directory in path is not actually a directory.
  *   F_number_overflow (with error bit) on overflow error.
- *   F_interrupted (with error bit) when program received an interrupt signal, halting create.
+ *   F_interrupted (with error bit) when program received an interrupt signal, halting operation.
  *   F_file_open_max (with error bit) when system-wide max open files is reached.
  *   F_busy (with error bit) if filesystem is too busy to perforrm write.
  *   F_file_read (with error bit) on file read error.
@@ -233,7 +233,7 @@ extern "C" {
  *   F_name (with error bit) on path name error.
  *   F_directory (with error bit) if a supposed directory in path is not actually a directory.
  *   F_number_overflow (with error bit) on overflow error.
- *   F_interrupted (with error bit) when program received an interrupt signal, halting create.
+ *   F_interrupted (with error bit) when program received an interrupt signal, halting operation.
  *   F_file_open_max (with error bit) when system-wide max open files is reached.
  *   F_busy (with error bit) if filesystem is too busy to perforrm write.
  *   F_file_read (with error bit) on file read error.
@@ -300,7 +300,7 @@ extern "C" {
  *   F_name (with error bit) on path name error.
  *   F_directory (with error bit) if a supposed directory in path is not actually a directory.
  *   F_number_overflow (with error bit) on overflow error.
- *   F_interrupted (with error bit) when program received an interrupt signal, halting create.
+ *   F_interrupted (with error bit) when program received an interrupt signal, halting operation.
  *   F_file_open_max (with error bit) when system-wide max open files is reached.
  *   F_busy (with error bit) if filesystem is too busy to perforrm write.
  *   F_file_read (with error bit) on file read error.
index 7df04b1f3bbe7cc91b8e3034e8ae164faa6c72e6..cd2d09ce87e1db21c880909093fa6b45bfb9da96 100644 (file)
@@ -60,7 +60,7 @@ extern "C" {
  *   F_name (with error bit) on path name error.
  *   F_directory (with error bit) if a supposed directory in path is not actually a directory.
  *   F_number_overflow (with error bit) on overflow error.
- *   F_interrupted (with error bit) when program received an interrupt signal, halting create.
+ *   F_interrupted (with error bit) when program received an interrupt signal, halting operation.
  *   F_file_open_max (with error bit) when system-wide max open files is reached.
  *   F_busy (with error bit) if filesystem is too busy to perforrm write.
  *   F_file_read (with error bit) on file read error.
@@ -121,7 +121,7 @@ extern "C" {
  *   F_name (with error bit) on path name error.
  *   F_directory (with error bit) if a supposed directory in path is not actually a directory.
  *   F_number_overflow (with error bit) on overflow error.
- *   F_interrupted (with error bit) when program received an interrupt signal, halting create.
+ *   F_interrupted (with error bit) when program received an interrupt signal, halting operation.
  *   F_file_open_max (with error bit) when system-wide max open files is reached.
  *   F_busy (with error bit) if filesystem is too busy to perforrm write.
  *   F_file_read (with error bit) on file read error.
@@ -177,7 +177,7 @@ extern "C" {
  *   F_name (with error bit) on path name error.
  *   F_directory (with error bit) if a supposed directory in path is not actually a directory.
  *   F_number_overflow (with error bit) on overflow error.
- *   F_interrupted (with error bit) when program received an interrupt signal, halting create.
+ *   F_interrupted (with error bit) when program received an interrupt signal, halting operation.
  *   F_file_open_max (with error bit) when system-wide max open files is reached.
  *   F_busy (with error bit) if filesystem is too busy to perforrm write.
  *   F_file_read (with error bit) on file read error.
@@ -236,7 +236,7 @@ extern "C" {
  *   F_name (with error bit) on path name error.
  *   F_directory (with error bit) if a supposed directory in path is not actually a directory.
  *   F_number_overflow (with error bit) on overflow error.
- *   F_interrupted (with error bit) when program received an interrupt signal, halting create.
+ *   F_interrupted (with error bit) when program received an interrupt signal, halting operation.
  *   F_file_open_max (with error bit) when system-wide max open files is reached.
  *   F_busy (with error bit) if filesystem is too busy to perforrm write.
  *   F_file_read (with error bit) on file read error.
index 1529b80c169acbcbb77847a12f70fa958c51be79..60ddf353c38ac365150ce5702e37574d4a2c18b1 100644 (file)
@@ -48,7 +48,7 @@ extern "C" {
     register f_string_length i = 0;
 
     if (buffer.used < 10) {
-      // "# fss-0000" is always 10 characters.
+      // "# fss-0000" is always at least 10 characters.
       return FL_fss_header_not;
     }
 
@@ -84,27 +84,28 @@ extern "C" {
                       if (f_conversion_character_is_hexidecimal(buffer.string[i]) == F_true) {
                         i++;
 
-                        f_string_range length = f_string_range_initialize;
+                        f_string_range range = f_string_range_initialize;
 
-                        length.start = i - 4;
-                        length.stop = i;
+                        range.start = i - 4;
+                        range.stop = i;
 
-                        // 1: A possibly valid header type was found, now convert it into its proper format and save the header type
-                        f_conversion_string_to_hexidecimal_unsigned(buffer.string, &header->type, length);
+                        // 1: A possibly valid header type was found, now convert it into its proper format and save the header type.
+                        f_status status = f_conversion_string_to_hexidecimal_unsigned(buffer.string, &header->type, range);
+                        if (F_status_is_error(status)) return status;
 
-                        // 2: At this point, we can still know the proper format for the file and still have a invalid header, handle accordingly
-                        if (buffer.string[i] == f_fss_type_header_close) {
-                          i++;
-                          header->length = i;
+                        if (status == F_none) {
+                          // 2: At this point, we can still know the proper format for the file and still have a invalid header, handle accordingly.
+                          if (buffer.string[i] == f_fss_type_header_close) {
+                            header->length = i + 1;
 
-                          return F_none;
-                        }
-                        else {
-                          // if "# fss-0000" is there, regardless of whats next, we can guess this to be of fss-0000, even if its fss-00001 (this is a guess afterall)
-                          i++;
-                          header->length = i;
+                            return F_none;
+                          }
+                          else {
+                            // if "# fss-0000" is there, regardless of whats next, we can guess this to be of fss-0000, even if its fss-00001 (this is a guess afterall).
+                            header->length = i + 1;
 
-                          return F_status_is_warning(FL_fss_accepted_invalid);
+                            return F_status_is_warning(FL_fss_accepted_invalid);
+                          }
                         }
                       }
                     }
@@ -115,7 +116,7 @@ extern "C" {
           }
         }
       }
-      // people can miss spaces, so lets accept in an attempt to interpret the file anyway, but return values at this point are to be flagged as invalid
+      // people can miss spaces, so lets accept in an attempt to interpret the file anyway, but return values at this point are to be flagged as invalid.
       else if (buffer.string[i] == f_fss_type_header_part2) {
         i++;
 
@@ -140,12 +141,13 @@ extern "C" {
                     if (f_conversion_character_is_hexidecimal(buffer.string[i]) == F_true) {
                       i++;
 
-                      f_string_range length = f_string_range_initialize;
+                      f_string_range range = f_string_range_initialize;
 
-                      length.start = i - 4;
-                      length.stop = i;
+                      range.start = i - 4;
+                      range.stop = i;
 
-                      f_conversion_string_to_hexidecimal_unsigned(buffer.string, &header->type, length);
+                      f_status status = f_conversion_string_to_hexidecimal_unsigned(buffer.string, &header->type, range);
+                      if (F_status_is_error(status)) return status;
 
                       header->length = i + 1;
 
@@ -160,8 +162,8 @@ extern "C" {
       }
     }
 
-    // TODO: At some point add checksum and compressions checks here, but the above statements will have to be adjusted accordingly
-    // 3: eventually this will be processing the checksum and 4: will be processing the compression
+    // @todo At some point add checksum and compressions checks here, but the above statements will have to be adjusted accordingly.
+    // 3: eventually this will be processing the checksum and 4: will be processing the compression.
 
     return FL_fss_header_not;
   }
@@ -252,7 +254,6 @@ extern "C" {
       width_max = buffer.used - range.start;
     }
 
-    // @todo update to check against zero-width space.
     return f_utf_is_graph(buffer.string + range.start, width_max);
   }
 #endif // _di_fl_fss_is_graph_
index 0437766c44d50b5fc1f5bafaa621532c4718f6b0..d9f2a1de85ba072f169f1e5b41a66fde5a1caac0 100644 (file)
@@ -66,9 +66,11 @@ extern "C" {
  *   The header data to populate with results of this function.
  *
  * @return
+ *   F_none on success
  *   FL_fss_header_not if no header is found.
  *   FL_fss_header_not (with error bit) if the an error occurred prior to identifying a valid header.
- *   F_parameter (with error bit) if a parameter is invalid.
+ *
+ *   Errors from (with error bit): f_conversion_string_to_hexidecimal_unsigned().
  */
 #ifndef _di_fl_fss_identify_
   extern f_return_status fl_fss_identify(const f_string_static buffer, f_fss_header *header);
@@ -86,9 +88,10 @@ extern "C" {
  *   F_none on success.
  *   F_parameter (with error bit) if a parameter is invalid.
  *
+ *   Errors from (with error bit): f_conversion_string_to_hexidecimal_unsigned().
  *   Errors from (with error bit): f_file_read_until().
  *   Errors from (with error bit): fl_fss_identify()
- *   File errors (with error bit): F_file_seek, F_file_closed.
+ *   File errors (with error bit): f_file_seek().
  *
  * @see f_file_read_until()
  * @see fl_fss_identify()
index 462497fdc3fd81572d30fed03fc5074fe12fab26..a913506f3bc7fb50093033b460310a3f51acb65f 100644 (file)
@@ -911,7 +911,7 @@ extern "C" {
           printf("%s", parameter_file_name_micro);
         }
 
-        printf(".%c", f_string_eol[0]);
+        printf("'.%c", f_string_eol[0]);
       }
     }