The fcntl() function uses two forms of privilege failures.
The EPERM is already translated to F_prohibited.
Therefore, add F_again (and F_again_not) so that EAGAIN can be used for that.
F_absolute_not,
F_address,
F_address_not,
+ F_again,
+ F_again_not,
F_ascii,
F_ascii_not,
F_atomic,
const f_string_static_t f_status_absolute_not_s = macro_f_string_static_t_initialize_1(F_status_absolute_not_s, 0, F_status_absolute_not_s_length);
const f_string_static_t f_status_address_s = macro_f_string_static_t_initialize_1(F_status_address_s, 0, F_status_address_s_length);
const f_string_static_t f_status_address_not_s = macro_f_string_static_t_initialize_1(F_status_address_not_s, 0, F_status_address_not_s_length);
+ const f_string_static_t f_status_again_s = macro_f_string_static_t_initialize_1(F_status_again_s, 0, F_status_again_s_length);
+ const f_string_static_t f_status_again_not_s = macro_f_string_static_t_initialize_1(F_status_again_not_s, 0, F_status_again_not_s_length);
const f_string_static_t f_status_ascii_s = macro_f_string_static_t_initialize_1(F_status_ascii_s, 0, F_status_ascii_s_length);
const f_string_static_t f_status_ascii_not_s = macro_f_string_static_t_initialize_1(F_status_ascii_not_s, 0, F_status_ascii_not_s_length);
const f_string_static_t f_status_atomic_s = macro_f_string_static_t_initialize_1(F_status_atomic_s, 0, F_status_atomic_s_length);
break;
+ case F_again:
+ *name = f_status_again_s;
+
+ break;
+
+ case F_again_not:
+ *name = f_status_again_not_s;
+
+ break;
+
case F_ascii:
*name = f_status_ascii_s;
#define F_status_absolute_not_s "F_absolute_not"
#define F_status_address_s "F_address"
#define F_status_address_not_s "F_address_not"
+ #define F_status_again_s "F_again"
+ #define F_status_again_not_s "F_again_not"
#define F_status_ascii_s "F_ascii"
#define F_status_ascii_not_s "F_ascii_not"
#define F_status_atomic_s "F_atomic"
#define F_status_absolute_not_s_length 14
#define F_status_address_s_length 9
#define F_status_address_not_s_length 13
+ #define F_status_again_s_length 7
+ #define F_status_again_not_s_length 11
#define F_status_ascii_s_length 7
#define F_status_ascii_not_s_length 11
#define F_status_atomic_s_length 8
extern const f_string_static_t f_status_absolute_not_s;
extern const f_string_static_t f_status_address_s;
extern const f_string_static_t f_status_address_not_s;
+ extern const f_string_static_t f_status_again_s;
+ extern const f_string_static_t f_status_again_not_s;
extern const f_string_static_t f_status_ascii_s;
extern const f_string_static_t f_status_ascii_not_s;
extern const f_string_static_t f_status_atomic_s;
F_absolute_not,
F_address,
F_address_not,
+ F_again,
+ F_again_not,
F_ascii,
F_ascii_not,
F_atomic,
f_status_absolute_not_s,
f_status_address_s,
f_status_address_not_s,
+ f_status_again_s,
+ f_status_again_not_s,
f_status_ascii_s,
f_status_ascii_not_s,
f_status_atomic_s,
f_status_status_code_last_s,
};
- for (uint16_t i = 0; i < 611; ++i) {
+ for (uint16_t i = 0; i < 613; ++i) {
f_string_static_t result = f_string_static_t_initialize;
return F_none;
}
+ if (f_compare_dynamic(name, f_status_again_s) == F_equal_to) {
+ *code = F_again;
+
+ return F_none;
+ }
+
+ if (f_compare_dynamic(name, f_status_again_not_s) == F_equal_to) {
+ *code = F_again_not;
+
+ return F_none;
+ }
+
if (f_compare_dynamic(name, f_status_ascii_s) == F_equal_to) {
*code = F_ascii;
F_absolute_not,
F_address,
F_address_not,
+ F_again,
+ F_again_not,
F_ascii,
F_ascii_not,
F_atomic,
f_status_absolute_not_s,
f_status_address_s,
f_status_address_not_s,
+ f_status_again_s,
+ f_status_again_not_s,
f_status_ascii_s,
f_status_ascii_not_s,
f_status_atomic_s,
f_status_status_code_last_s,
};
- for (uint16_t i = 0; i < 611; ++i) {
+ for (uint16_t i = 0; i < 613; ++i) {
f_status_t result = F_none;