/**
 * Nettle miscellaneous code headers
 * (C) Nettle Developers 2001-2002
 *
 * $Id: misc,v 1.21 2003/10/16 19:30:05 archifishal Exp $
 */

#ifndef MISC_H
#define MISC_H

#include <string.h>

char *get_system_variable(char *, const char *, int);
int binary(const char *);
int instr(const char *, const char *);
int esc_instr(const char *, const char *, int);
void misc_zero_terminate_ctrl_string(char *);
char *read_mem(char *, const char *, int);
void log_string(const char *);
void log_byte(char);
void close_log(bool force);
void create_log(void);
char *get_country(char *, int);
bool dynamic_areas_available(void);
void misc_setfiletype(const char *filename, int type);

#ifndef __UNIXLIB_TYPES_H
char *strdup(const char *s);
#endif


/**
 * printf like function for writing to the log file
 *
 * @param format  printf() style format string
 * @param ...     parameters matching format string
 */
void misc_logf(const char */*format*/, ...);



/**
 * misc_string_lower takes a string and lower-cases it
 *
 * @param s     string to be converted
 *
 * @return converted string
 */
char *misc_string_lower(char */*string*/);


/**
 * misc_string_upper takes a string and upper-cases it
 *
 * @param s     string to be converted
 *
 * @return converted string
 */
char *misc_string_upper(char */*string*/);

#endif /* MISC_H */
