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.
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;
}
}
}
- else if (string[i] != '\0') {
+ else if (string[i] != 0) {
return F_status_set_error(F_number);
}
} // for
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;
converted = digit;
}
}
- else if (string[i] != '\0') {
+ else if (string[i] != 0) {
return F_status_set_error(F_number);
}
} // for
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;
}
}
}
- else if (string[i] != '\0') {
+ else if (string[i] != 0) {
return F_status_set_error(F_number);
}
} // for
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;
converted = digit;
}
}
- else if (string[i] != '\0') {
+ else if (string[i] != 0) {
return F_status_set_error(F_number);
}
} // for
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;
}
}
}
- else if (string[i] != '\0') {
+ else if (string[i] != 0) {
return F_status_set_error(F_number);
}
} // for
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;
converted = digit;
}
}
- else if (string[i] != '\0') {
+ else if (string[i] != 0) {
return F_status_set_error(F_number);
}
} // for
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;
}
}
}
- else if (string[i] != '\0') {
+ else if (string[i] != 0) {
return F_status_set_error(F_number);
}
} // for
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;
converted = digit;
}
}
- else if (string[i] != '\0') {
+ else if (string[i] != 0) {
return F_status_set_error(F_number);
}
} // for
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;
}
}
}
- else if (string[i] != '\0') {
+ else if (string[i] != 0) {
return F_status_set_error(F_number);
}
} // for
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;
converted = digit;
}
}
- else if (string[i] != '\0') {
+ else if (string[i] != 0) {
return F_status_set_error(F_number);
}
} // for
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;
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;
*
* @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);
*
* @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);
*
* @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);
*
* @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);
*
* @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);
*
* @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);
*
* @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);
*
* @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);
*
* @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);
*
* @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);
*
* @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()
*/
*
* @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()
*/
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);
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);
}
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);
}
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);
}
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);
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);
}
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);
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);
}
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);
}
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);
}
*
* @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()
*/
*
* @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()
*/
* 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()
* 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()
*/
* 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()
* 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()
*/
*
* @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()
*
* @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_
/**
*
* @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_
/**
*
* @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()
*
* @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()
* @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()
*/
*
* @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()
*/
* @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()
* 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()
*/
* @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()
* @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()
*/
*
* @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()
*/
*
* @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()
*/
*
* @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()
*
* @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()
*/
*
* 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
*
* @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);
*
* @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()
*/
*
* @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);
*
* @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()
*/
*
* @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()
*/
*
* @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()
*
* @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()
*
* @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()
*/
*
* @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()
*/
*
* @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()
*/
*
* @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()
*/
* 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()
* 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()
*/
*
* @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.
* 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()
* 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()
*
* @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()
*
* @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()
*
* @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()
*/
*
* @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()
*/
*
* @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()
*/
*
* @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()
*/
*
* @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()
*/
*
* @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()
*/
*
* @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()
*
* @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()
* @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()
*/
* @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()
*/
* @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()
*/
*
* @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()
*/
*
* @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()
*/
#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.
*
* @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
*
* @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()
*
* @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()
*
* @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()
*
* @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()
*
* @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()
*
* @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()
* @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()
*/
*
* @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()
*
* @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()
* @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()
*/
* 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()
*/
* 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()
*/
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);
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);
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 {
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);
*
* @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()
*
* @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()
*/
*
* @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()
*
* @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()
*/
*
* @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()
*
* @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()
*
* @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()
*
* @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()
*/
*
* @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()
*
* @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()
*/
*
* @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()
*/
*
* @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()
*/
*
* @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()
*
* @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()
*
* @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.
*
* @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()
*
* @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()
*/
*
* @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()
*/
*
* @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()
*/
*
* @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()
*
* @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()
*
* @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()
*
* @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()
*
* @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()
* @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()
*
* @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);
*
* @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);
*
* @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);
*
* @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);
* 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
* 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()
* 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()
* 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()
* 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()
* 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()
* 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()
* 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()
* 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()
* 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()
* 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()
* 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()
* 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()
* 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()
* 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()
* 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()
* 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()
* 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()
* 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()
* 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()
* 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()
* 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()
* 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()
* 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()
* @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_
* @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();
* 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.
*
* 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()
* 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()
* 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()
* 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()
* 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()
* 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()
* 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()
* 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.
*
* 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()
* 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()
* 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()
* 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()
* 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()
* @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);
*
* @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);
*
* @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, ...);
*
* @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, ...);
*
* @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, ...);
*
* @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, ...);
*
* @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);
*
* @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);
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;
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;
*
* @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()
*/
*
* @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()
*/
* 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.
* 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.
* 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.
* 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.
* 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.
* 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.
* 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.
* 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.
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;
}
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);
+ }
}
}
}
}
}
}
- // 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++;
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;
}
}
- // 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;
}
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_
* 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);
* 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()
printf("%s", parameter_file_name_micro);
}
- printf(".%c", f_string_eol[0]);
+ printf("'.%c", f_string_eol[0]);
}
}