diff options
Diffstat (limited to 'server/tools/tools_util.h')
-rw-r--r-- | server/tools/tools_util.h | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/server/tools/tools_util.h b/server/tools/tools_util.h index ef55dede..e055fe23 100644 --- a/server/tools/tools_util.h +++ b/server/tools/tools_util.h @@ -4,6 +4,30 @@ #define UID_NOT_SET 0 #define GID_NOT_SET 0 +#define APPEND_PARAM(str, param, val) do { \ + if (val) { \ + str = talloc_asprintf_append(str, param, val); \ + if (str == NULL) { \ + return ENOMEM; \ + } \ + } \ +} while(0) + +#define APPEND_STRING(str, val) do { \ + str = talloc_asprintf_append(str, "%s ", val); \ + if (str == NULL) { \ + return ENOMEM; \ + } \ +} while(0) + +enum id_domain { + ID_IN_LOCAL = 0, + ID_IN_LEGACY_LOCAL, + ID_IN_OTHER, + ID_OUTSIDE, + ID_ERROR +}; + struct tools_ctx { struct tevent_context *ev; struct confdb_ctx *confdb; @@ -18,4 +42,8 @@ void usage(poptContext pc, const char *error); int parse_groups(TALLOC_CTX *mem_ctx, const char *optstr, char ***_out); +enum id_domain find_domain_for_id(struct tools_ctx *ctx, + uint32_t id, + struct sss_domain_info **dom_ret); + #endif /* __TOOLS_UTIL_H__ */ |