}
static int
-sysctl_root_handler_locked(struct sysctl_oid *oid, void *arg1, intptr_t arg2,
+sysctl_root_handler_locked(struct sysctl_oid *oid, void *arg1, intmax_t arg2,
struct sysctl_req *req, struct rm_priotracker *tracker)
{
int error;
char path[64];
ssize_t rem = sizeof(path);
ssize_t len;
+ uint8_t val_8;
+ uint16_t val_16;
+ uint32_t val_32;
int val_int;
long val_long;
int64_t val_64;
req.newlen = sizeof(val_long);
req.newptr = &val_long;
break;
+ case CTLTYPE_S8:
+ if (getenv_int(path + rem, &val_int) == 0)
+ return;
+ val_8 = val_int;
+ req.newlen = sizeof(val_8);
+ req.newptr = &val_8;
+ break;
+ case CTLTYPE_S16:
+ if (getenv_int(path + rem, &val_int) == 0)
+ return;
+ val_16 = val_int;
+ req.newlen = sizeof(val_16);
+ req.newptr = &val_16;
+ break;
+ case CTLTYPE_S32:
+ if (getenv_long(path + rem, &val_long) == 0)
+ return;
+ val_32 = val_long;
+ req.newlen = sizeof(val_32);
+ req.newptr = &val_32;
+ break;
case CTLTYPE_S64:
if (getenv_quad(path + rem, &val_quad) == 0)
return;
req.newlen = sizeof(val_64);
req.newptr = &val_64;
break;
+ case CTLTYPE_U8:
+ if (getenv_uint(path + rem, (unsigned int *)&val_int) == 0)
+ return;
+ val_8 = val_int;
+ req.newlen = sizeof(val_8);
+ req.newptr = &val_8;
+ break;
+ case CTLTYPE_U16:
+ if (getenv_uint(path + rem, (unsigned int *)&val_int) == 0)
+ return;
+ val_16 = val_int;
+ req.newlen = sizeof(val_16);
+ req.newptr = &val_16;
+ break;
+ case CTLTYPE_U32:
+ if (getenv_ulong(path + rem, (unsigned long *)&val_long) == 0)
+ return;
+ val_32 = val_long;
+ req.newlen = sizeof(val_32);
+ req.newptr = &val_32;
+ break;
case CTLTYPE_U64:
/* XXX there is no getenv_uquad() */
if (getenv_quad(path + rem, &val_quad) == 0)
case CTLTYPE_LONG: printf(" Long\n"); break;
case CTLTYPE_ULONG: printf(" u_long\n"); break;
case CTLTYPE_STRING: printf(" String\n"); break;
- case CTLTYPE_U64: printf(" uint64_t\n"); break;
+ case CTLTYPE_S8: printf(" int8_t\n"); break;
+ case CTLTYPE_S16: printf(" int16_t\n"); break;
+ case CTLTYPE_S32: printf(" int32_t\n"); break;
case CTLTYPE_S64: printf(" int64_t\n"); break;
+ case CTLTYPE_U8: printf(" uint8_t\n"); break;
+ case CTLTYPE_U16: printf(" uint16_t\n"); break;
+ case CTLTYPE_U32: printf(" uint32_t\n"); break;
+ case CTLTYPE_U64: printf(" uint64_t\n"); break;
case CTLTYPE_OPAQUE: printf(" Opaque/struct\n"); break;
default: printf("\n");
}
#endif
#define SYSCTL_HANDLER_ARGS struct sysctl_oid *oidp, void *arg1, \
- intptr_t arg2, struct sysctl_req *req
+ intmax_t arg2, struct sysctl_req *req
/* definitions for sysctl_req 'lock' member */
#define REQ_UNWIRED 1
int oid_number;
u_int oid_kind;
void *oid_arg1;
- intptr_t oid_arg2;
+ intmax_t oid_arg2;
const char *oid_name;
int (*oid_handler)(SYSCTL_HANDLER_ARGS);
const char *oid_fmt;
})
/* Oid for a signed 8-bit int. If ptr is NULL, val is returned. */
-#define SYSCTL_NULL_S8_PTR ((unsigned *)NULL)
+#define SYSCTL_NULL_S8_PTR ((int8_t *)NULL)
#define SYSCTL_S8(parent, nbr, name, access, ptr, val, descr) \
SYSCTL_OID(parent, nbr, name, \
CTLTYPE_S8 | CTLFLAG_MPSAFE | (access), \
})
/* Oid for an unsigned 8-bit int. If ptr is NULL, val is returned. */
-#define SYSCTL_NULL_U8_PTR ((unsigned *)NULL)
+#define SYSCTL_NULL_U8_PTR ((uint8_t *)NULL)
#define SYSCTL_U8(parent, nbr, name, access, ptr, val, descr) \
SYSCTL_OID(parent, nbr, name, \
CTLTYPE_U8 | CTLFLAG_MPSAFE | (access), \
})
/* Oid for a signed 16-bit int. If ptr is NULL, val is returned. */
-#define SYSCTL_NULL_S16_PTR ((unsigned *)NULL)
+#define SYSCTL_NULL_S16_PTR ((int16_t *)NULL)
#define SYSCTL_S16(parent, nbr, name, access, ptr, val, descr) \
SYSCTL_OID(parent, nbr, name, \
CTLTYPE_S16 | CTLFLAG_MPSAFE | (access), \
})
/* Oid for an unsigned 16-bit int. If ptr is NULL, val is returned. */
-#define SYSCTL_NULL_U16_PTR ((unsigned *)NULL)
+#define SYSCTL_NULL_U16_PTR ((uint16_t *)NULL)
#define SYSCTL_U16(parent, nbr, name, access, ptr, val, descr) \
SYSCTL_OID(parent, nbr, name, \
CTLTYPE_U16 | CTLFLAG_MPSAFE | (access), \
})
/* Oid for a signed 32-bit int. If ptr is NULL, val is returned. */
-#define SYSCTL_NULL_S32_PTR ((unsigned *)NULL)
+#define SYSCTL_NULL_S32_PTR ((int32_t *)NULL)
#define SYSCTL_S32(parent, nbr, name, access, ptr, val, descr) \
SYSCTL_OID(parent, nbr, name, \
CTLTYPE_S32 | CTLFLAG_MPSAFE | (access), \
})
/* Oid for an unsigned 32-bit int. If ptr is NULL, val is returned. */
-#define SYSCTL_NULL_U32_PTR ((unsigned *)NULL)
+#define SYSCTL_NULL_U32_PTR ((uint32_t *)NULL)
#define SYSCTL_U32(parent, nbr, name, access, ptr, val, descr) \
SYSCTL_OID(parent, nbr, name, \
CTLTYPE_U32 | CTLFLAG_MPSAFE | (access), \
})
/* Oid for a signed 64-bit int. If ptr is NULL, val is returned. */
-#define SYSCTL_NULL_S64_PTR ((unsigned *)NULL)
+#define SYSCTL_NULL_S64_PTR ((int64_t *)NULL)
#define SYSCTL_S64(parent, nbr, name, access, ptr, val, descr) \
SYSCTL_OID(parent, nbr, name, \
CTLTYPE_S64 | CTLFLAG_MPSAFE | (access), \
})
/* Oid for an unsigned 64-bit int. If ptr is NULL, val is returned. */
-#define SYSCTL_NULL_U64_PTR ((unsigned *)NULL)
+#define SYSCTL_NULL_U64_PTR ((uint64_t *)NULL)
#define SYSCTL_U64(parent, nbr, name, access, ptr, val, descr) \
SYSCTL_OID(parent, nbr, name, \
CTLTYPE_U64 | CTLFLAG_MPSAFE | (access), \