From 8928747a3ea1c1d02239b422c0ad25b8e22bcaf2 Mon Sep 17 00:00:00 2001 From: Max Date: Wed, 11 Jan 2017 17:47:04 +0100 Subject: CTRL: add write-only helpers Similar to CTRL_CMD_DEFINE_RO() add helper for control commands which are not meant to be read, only to set. Similarly, add CTRL_CMD_DEFINE_WO_NOVRF() for commands which do not perform inbound data verification. Change-Id: I66b7990db590c1f8e56326e392e6c1d2eafebd9a --- include/osmocom/ctrl/control_cmd.h | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/include/osmocom/ctrl/control_cmd.h b/include/osmocom/ctrl/control_cmd.h index 8f2eaa25..a63557d7 100644 --- a/include/osmocom/ctrl/control_cmd.h +++ b/include/osmocom/ctrl/control_cmd.h @@ -187,4 +187,28 @@ static int verify_##cmdname(struct ctrl_cmd *cmd, const char *value, void *data) } \ CTRL_CMD_DEFINE_STRUCT(cmdname, cmdstr, verify_##cmdname) +#define CTRL_CMD_DEFINE_WO(cmdname, cmdstr) \ +static int set_##cmdname(struct ctrl_cmd *cmd, void *data); \ +static int get_##cmdname(struct ctrl_cmd *cmd, void *data) \ +{ \ + cmd->reply = "Write Only attribute"; \ + return CTRL_CMD_ERROR; \ +} \ +static int verify_##cmdname(struct ctrl_cmd *cmd, const char *val, void *data); \ +CTRL_CMD_DEFINE_STRUCT(cmdname, cmdstr, verify_##cmdname) + + +#define CTRL_CMD_DEFINE_WO_NOVRF(cmdname, cmdstr) \ +static int set_##cmdname(struct ctrl_cmd *cmd, void *data); \ +static int get_##cmdname(struct ctrl_cmd *cmd, void *data) \ +{ \ + cmd->reply = "Write Only attribute"; \ + return CTRL_CMD_ERROR; \ +} \ +static int verify_##cmdname(struct ctrl_cmd *cmd, const char *val, void *data) \ +{ \ + return 0; \ +} \ +CTRL_CMD_DEFINE_STRUCT(cmdname, cmdstr, verify_##cmdname) + struct gsm_network; -- cgit v1.2.3