Changes: * Implement src/conf.c, patty_conf_read(), to read a configuration file to support a OpenBSD-style configuration file format * Implement bin/pattyd.c to use patty_conf_read() to read a configuration file and apply its settings to a patty_daemon object as it is read; also implement a --standalone|-s flag to allow the user to start a patty server without having to write a configuration file * Refactor patty_daemon_if_add() to accept a patty_ax25_if object; this is necessary as bin/pattyd.c needs to be able to validate the addresses given in a configuration file 'if' statement * Refactor patty_ax25_server_new() to no longer accept a client socket path; instead, patty_ax25_server_start() now accepts the client socket path * Remove the client socket 'path' member from patty_ax25_server in src/server.c * Refactor patty_kiss_tnc_new() to accept only one argument, a patty_kiss_tnc_info object containing flags and settings needed to open a device, use an existing file descriptor, or change termios settings as appropriate * Remove patty_kiss_tnc_new_fd(), as its functionality now exists in patty_kiss_tnc_new() itself * Add a 'flags' field to patty_kiss_tnc_info; use this bit field to determine whether a path or file descriptor is provided by the caller * Make patty_ax25_if_new() accept an interface name argument, as names are explicitly required when declaring new interfaces in configuration files * Make patty_kiss_tnc_new() able to accept /dev/ptmx as a device name, regardless of whether this character device exists on a given platform; when provided, a pseudo TTY pair is allocated with openpty() * Refactor examples/ax25dump.c to use the new patty_kiss_tnc_new() calling convention * Refactor examples/decode.c to use the new patty_kiss_tnc_new() calling convention * Remove examples/daemon.c in favor of bin/pattyd.c * Rename examples/patty.conf to examples/pattyd.conf; modify to provide values which would actually function
22 lines
470 B
C
22 lines
470 B
C
#ifndef _PATTY_CONF_H
|
|
#define _PATTY_CONF_H
|
|
|
|
#include <patty/list.h>
|
|
|
|
typedef struct _patty_conf_file patty_conf_file;
|
|
|
|
typedef struct _patty_conf_token {
|
|
char *text;
|
|
|
|
size_t lineno,
|
|
column,
|
|
len;
|
|
} patty_conf_token;
|
|
|
|
typedef int (*patty_conf_handler)(patty_conf_file *, patty_list *, void *);
|
|
|
|
int patty_conf_read(const char *file,
|
|
patty_conf_handler handler,
|
|
void *ctx);
|
|
|
|
#endif /* _PATTY_CONF_H */
|