/* * Copyright (c) 2021 joshua stein * * Permission to use, copy, modify, and distribute this software for any * purpose with or without fee is hereby granted, provided that the above * copyright notice and this permission notice appear in all copies. * * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ #ifndef __SETTINGS_H__ #define __SETTINGS_H__ #include "stdint.h" #define SETTINGS_FILENAME "\pWallops Preferences" #define SETTINGS_FILE_CREATOR 'WLOP' #define SETTINGS_DLOG_ID 129 #define SETTINGS_SERVER_ID 2 #define SETTINGS_PORT_ID 3 #define SETTINGS_PASSWORD_ID 4 #define SETTINGS_NICK_ID 5 #define SETTINGS_IDENT_ID 6 #define SETTINGS_REALNAME_ID 7 #define SETTINGS_HIDE_MOTD_ID 8 #define SETTINGS_CHANNEL_ID 9 #define DEFAULT_SERVER_NAME "irc.libera.chat" #define DEFAULT_PORT "6667" #define DEFAULT_IDENT "wallops" #define DEFAULT_REALNAME "A Macintosh User" #define DEFAULT_CHANNEL "#cyberpals" #define DEFAULT_HIDE_MOTD "0" struct settings { short version; #define SETTINGS_VERSION 1 char server[64]; unsigned short port; char password[32]; char nick[32]; char ident[32]; char realname[32]; char channel[32]; unsigned char hide_motd; unsigned long ignores; }; extern struct settings settings; bool settings_load(void); void settings_save(struct settings *tsettings); bool settings_edit(bool use_defaults); #endif