unsigned int flags;
bool up;
bool wireless;
- const char *ssid;
+ char ssid[IF_SSIDSIZE];
char *data;
size_t data_len;
int flags;
bool up;
bool wireless;
- const char *ssid;
+ char ssid[IF_SSIDSIZE];
} DHCPCD_IF;
#endif
bool privileged;
int command_fd;
int listen_fd;
+ const char *progname;
DHCPCD_IF *interfaces;
DHCPCD_WPA *wpa;
DHCPCD_CONNECTION * dhcpcd_new(void);
const char * dhcpcd_version(DHCPCD_CONNECTION *);
+void dhcpcd_set_progname(DHCPCD_CONNECTION *, const char *);
+const char * dhcpcd_get_progname(const DHCPCD_CONNECTION *);
const char * dhcpcd_status(DHCPCD_CONNECTION *);
const char * dhcpcd_cffile(DHCPCD_CONNECTION *);
bool dhcpcd_realloc(DHCPCD_CONNECTION *, size_t);
const char *dhcpcd_get_value(const DHCPCD_IF *, const char *);
const char *dhcpcd_get_prefix_value(const DHCPCD_IF *, const char *,
const char *);
+
+#ifdef IN_LIBDHCPCD
+#ifndef VIS_OCTAL
+#define VIS_OCTAL 0x0001
+#define VIS_CSTYLE 0x0002
+#endif
+/* These functions only exists if libc does not provide a working one */
+char *dhcpcd_svis(char *dst, int c, int flags, int nextc, const char *extra);
+char *dhcpcd_vis(char *dst, int c, int flags, int nextc);
+int dhcpcd_strnunvis(char *dst, size_t dlen, const char *src);
+#endif
+ssize_t dhcpcd_encode(char *dst, size_t dlen, const char *src, size_t slen);
+ssize_t dhcpcd_decode(char *dst, size_t dlen, const char *src);
+ssize_t dhcpcd_decode_shell(char *dst, size_t dlen, const char *src);
+ssize_t dhcpcd_decode_hex(char *dst, size_t dlen, const char *src);
+
char * dhcpcd_if_message(DHCPCD_IF *i, bool *new_msg);
ssize_t dhcpcd_command(DHCPCD_CONNECTION *, const char *, char **);
const char * dhcpcd_config_get_static(DHCPCD_OPTION *, const char *);
bool dhcpcd_config_set(DHCPCD_OPTION **, const char *, const char *);
bool dhcpcd_config_set_static(DHCPCD_OPTION **, const char *, const char *);
+bool dhcpcd_config_writeable(DHCPCD_CONNECTION *con);
bool dhcpcd_config_write(DHCPCD_CONNECTION *,
const char *, const char *, const DHCPCD_OPTION *);