summaryrefslogtreecommitdiff
path: root/server/util/util.h
diff options
context:
space:
mode:
Diffstat (limited to 'server/util/util.h')
-rw-r--r--server/util/util.h256
1 files changed, 0 insertions, 256 deletions
diff --git a/server/util/util.h b/server/util/util.h
deleted file mode 100644
index 945e20d0..00000000
--- a/server/util/util.h
+++ /dev/null
@@ -1,256 +0,0 @@
-/*
- Authors:
- Simo Sorce <ssorce@redhat.com>
-
- Copyright (C) 2009 Red Hat
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#ifndef __SSSD_UTIL_H__
-#define __SSSD_UTIL_H__
-
-#include <stdio.h>
-#include <stdint.h>
-#include <stdbool.h>
-#include <unistd.h>
-#include <string.h>
-#include <errno.h>
-#include <libintl.h>
-#include <limits.h>
-#include <locale.h>
-#include <time.h>
-#include <pcre.h>
-#include <sys/types.h>
-
-#include "config.h"
-
-#include <talloc.h>
-#include <tevent.h>
-#include <ldb.h>
-
-#ifndef HAVE_ERRNO_T
-#define HAVE_ERRNO_T
-typedef int errno_t;
-#endif
-
-#define _(STRING) gettext (STRING)
-
-extern const char *debug_prg_name;
-extern int debug_level;
-extern int debug_timestamps;
-extern int debug_to_file;
-extern const char *debug_log_file;
-void debug_fn(const char *format, ...);
-errno_t set_debug_file_from_fd(const int fd);
-
-#define SSSD_DEBUG_OPTS \
- {"debug-level", 'd', POPT_ARG_INT, &debug_level, 0, \
- _("Debug level"), NULL}, \
- {"debug-to-files", 'f', POPT_ARG_NONE, &debug_to_file, 0, \
- _("Send the debug output to files instead of stderr"), NULL }, \
- {"debug-timestamps", 0, POPT_ARG_INT, &debug_timestamps, 0, \
- _("Add debug timestamps"), NULL},
-
-/** \def DEBUG(level, body)
- \brief macro to generate debug messages
-
- \param level the debug level, please respect the following guidelines:
- - 1 is for critical errors users may find it difficult to understand but
- are still quite clear
- - 2-4 is for stuff developers are interested in in general, but
- shouldn't fill the screen with useless low level verbose stuff
- - 5-6 is for errors you may want to track, but only if you explicitly
- looking for additional clues
- - 7-10 is for informational stuff
-
- \param body the debug message you want to send, should end with \n
-*/
-#define DEBUG(level, body) do { \
- if (level <= debug_level) { \
- if (debug_timestamps) { \
- time_t rightnow = time(NULL); \
- char stamp[25]; \
- memcpy(stamp, ctime(&rightnow), 24); \
- stamp[24] = '\0'; \
- debug_fn("(%s) [%s] [%s] (%d): ", \
- stamp, debug_prg_name, __FUNCTION__, level); \
- } else { \
- debug_fn("[%s] [%s] (%d): ", \
- debug_prg_name, __FUNCTION__, level); \
- } \
- debug_fn body; \
- } \
-} while(0);
-
-#define PRINT(fmt, ...) fprintf(stdout, gettext(fmt), ##__VA_ARGS__)
-#define ERROR(fmt, ...) fprintf(stderr, gettext(fmt), ##__VA_ARGS__)
-
-#ifndef discard_const
-#define discard_const(ptr) ((void *)((uintptr_t)(ptr)))
-#endif
-
-#ifndef NULL
-#define NULL 0
-#endif
-
-#define ZERO_STRUCT(x) memset((char *)&(x), 0, sizeof(x))
-
-#define EOK 0
-
-#define SSSD_MAIN_OPTS SSSD_DEBUG_OPTS
-
-#define FLAGS_NONE 0x0000
-#define FLAGS_DAEMON 0x0001
-#define FLAGS_INTERACTIVE 0x0002
-#define FLAGS_PID_FILE 0x0004
-
-#ifndef talloc_zfree
-#define talloc_zfree(ptr) do { talloc_free(ptr); ptr = NULL; } while(0)
-#endif
-
-#ifndef discard_const_p
-#if defined(__intptr_t_defined) || defined(HAVE_INTPTR_T)
-# define discard_const_p(type, ptr) ((type *)((intptr_t)(ptr)))
-#else
-# define discard_const_p(type, ptr) ((type *)(ptr))
-#endif
-#endif
-
-/* TODO: remove later
- * These functions are available in the latest tevent and are the ones that
- * should be used as tevent_req is rightfully opaque there */
-#ifndef tevent_req_data
-#define tevent_req_data(req, type) ((type *)req->private_state)
-#define tevent_req_set_callback(req, func, data) \
- do { req->async.fn = func; req->async.private_data = data; } while(0)
-#define tevent_req_callback_data(req, type) ((type *)req->async.private_data)
-#define tevent_req_notify_callback(req) \
- do { \
- if (req->async.fn != NULL) { \
- req->async.fn(req); \
- } \
- } while(0)
-
-/* noop */
-#define tevent_loop_allow_nesting(x)
-#endif
-
-#define TEVENT_REQ_RETURN_ON_ERROR(req) do { \
- enum tevent_req_state TRROEstate; \
- uint64_t TRROEerr; \
- \
- if (tevent_req_is_error(req, &TRROEstate, &TRROEerr)) { \
- if (TRROEstate == TEVENT_REQ_USER_ERROR) { \
- return TRROEerr; \
- } \
- return EIO; \
- } \
-} while (0)
-
-#define OUT_OF_ID_RANGE(id, min, max) \
- (id == 0 || (min && (id < min)) || (max && (id > max)))
-
-#define COPY_MEM(to, from, ptr, size) do { \
- memcpy(to, from, size); \
- ptr += size; \
-} while(0)
-
-#define COPY_TYPE(to, from, ptr, type) COPY_MEM(to, from, ptr, sizeof(type))
-
-#define COPY_VALUE(to, value, ptr, type) do { \
- type CV_MACRO_val = (type) value; \
- COPY_TYPE(to, &CV_MACRO_val, ptr, type); \
-} while(0)
-
-#define COPY_UINT32(to, from, ptr) COPY_TYPE(to, from, ptr, uint32_t)
-#define COPY_UINT32_VALUE(to, value, ptr) COPY_VALUE(to, value, ptr, uint32_t)
-#define COPY_INT32(to, from, ptr) COPY_TYPE(to, from, ptr, int32_t)
-#define COPY_INT32_VALUE(to, value, ptr) COPY_VALUE(to, value, ptr, int32_t)
-
-#define COPY_UINT32_CHECK(to, from, ptr, size) do { \
- if ((ptr + sizeof(uint32_t)) > size) return EINVAL; \
- COPY_UINT32(to, from, ptr); \
-} while(0)
-
-#include "util/dlinklist.h"
-
-/* From debug.c */
-void ldb_debug_messages(void *context, enum ldb_debug_level level,
- const char *fmt, va_list ap);
-int open_debug_file_ex(const char *filename, FILE **filep);
-int open_debug_file(void);
-
-/* from server.c */
-struct main_context {
- struct tevent_context *event_ctx;
- struct confdb_ctx *confdb_ctx;
-};
-
-int die_if_parent_died(void);
-int server_setup(const char *name, int flags,
- const char *conf_entry,
- struct main_context **main_ctx);
-void server_loop(struct main_context *main_ctx);
-
-/* from signal.c */
-#include <signal.h>
-void BlockSignals(bool block, int signum);
-void (*CatchSignal(int signum,void (*handler)(int )))(int);
-void CatchChild(void);
-void CatchChildLeaveStatus(void);
-
-/* from memory.c */
-typedef int (void_destructor_fn_t)(void *);
-
-struct mem_holder {
- void *mem;
- void_destructor_fn_t *fn;
-};
-
-void *sss_mem_attach(TALLOC_CTX *mem_ctx,
- void *ptr,
- void_destructor_fn_t *fn);
-
-int password_destructor(void *memctx);
-
-/* from usertools.c */
-char *get_username_from_uid(TALLOC_CTX *mem_ctx, uid_t uid);
-
-struct sss_names_ctx {
- char *re_pattern;
- char *fq_fmt;
-
- pcre *re;
-};
-
-int sss_names_init(TALLOC_CTX *mem_ctx,
- struct confdb_ctx *cdb,
- struct sss_names_ctx **out);
-
-int sss_parse_name(TALLOC_CTX *memctx,
- struct sss_names_ctx *snctx,
- const char *orig, char **domain, char **name);
-
-/* from backup-file.c */
-int backup_file(const char *src, int dbglvl);
-
-/* from check_and_open.c */
-errno_t check_and_open_readonly(const char *filename, int *fd, const uid_t uid,
- const gid_t gid, const mode_t mode);
-
-/* from util.c */
-int split_on_separator(TALLOC_CTX *mem_ctx, const char *str,
- const char sep, bool trim, char ***_list, int *size);
-#endif /* __SSSD_UTIL_H__ */