/*****************************************************************************
 * Filename:    cryptfs/misc.h                                               *
 * Description:                                                              *
 * Copyright:   2009 by Alexander Motzkau                                    *
 *****************************************************************************/

#ifndef __MISC_H__
#define __MISC_H__

#include <stdlib.h>

struct configuration;

void *xmalloc(size_t size);
void xfree(void *ptr);
char *xmallocstr(char *str);

int get_blockdev_size(char *devname, unsigned long *size);
int is_mounted(char *devname);
void setuidnam(char *uid, char *gid, struct configuration *config);
void errmsg(const char* fmt, ...);
void errnomsg(const char* str);

extern int use_syslog;

enum tristate;

#define T_RESOLVE2(a,b) (((a)==t_unspecified)?(b):(a))
enum bool t_resolve(enum tristate a, ...);

#endif
