]>
Commit | Line | Data |
---|---|---|
b4e381a8 MT |
1 | /* SmoothWall libsmooth. |
2 | * | |
3 | * This program is distributed under the terms of the GNU General Public | |
4 | * Licence. See the file COPYING for details. | |
5 | * | |
6 | * (c) Lawrence Manning, 2001 | |
7 | * Contains prototypes for library functions. | |
8 | * | |
b4e381a8 MT |
9 | */ |
10 | ||
11 | #ifndef ___LIBSMOOTH_H | |
12 | #define ___LIBSMOOTH_H | |
13 | ||
14 | #include <stdio.h> | |
15 | #include <stdlib.h> | |
16 | #include <string.h> | |
17 | #include <ctype.h> | |
18 | #include <wchar.h> | |
19 | #include <locale.h> | |
20 | #include <unistd.h> | |
21 | #include <sys/file.h> | |
22 | #include <sys/types.h> | |
23 | #include <sys/stat.h> | |
24 | #include <fcntl.h> | |
25 | #include <newt.h> | |
26 | #include <dirent.h> | |
27 | #include <sys/mount.h> | |
28 | ||
29 | #include <sys/socket.h> | |
30 | #include <netinet/in.h> | |
31 | #include <arpa/inet.h> | |
32 | ||
33 | #include <linux/cdrom.h> | |
34 | #include <sys/ioctl.h> | |
35 | ||
36 | #include "langs.h" | |
37 | ||
38 | #define STRING_SIZE 1023 | |
39 | ||
40 | #define ADDRESS 0 | |
41 | #define NETADDRESS 1 | |
42 | #define NETMASK 2 | |
43 | #define DHCP 3 | |
44 | #define NETCHANGE_TOTAL 4 | |
45 | ||
75ae2191 MT |
46 | #define KNOWN_NICS "/var/ipfire/ethernet/known_nics" |
47 | #define SCANNED_NICS "/var/ipfire/ethernet/scanned_nics" | |
48 | ||
5057b611 HS |
49 | #define _GREEN_CARD_ 0 |
50 | #define _RED_CARD_ 1 | |
51 | #define _ORANGE_CARD_ 2 | |
52 | #define _BLUE_CARD_ 3 | |
53 | ||
b4e381a8 MT |
54 | struct keyvalue |
55 | { | |
56 | char key[STRING_SIZE]; | |
57 | char value[STRING_SIZE]; | |
58 | struct keyvalue *next; | |
59 | }; | |
b4e381a8 MT |
60 | struct nic |
61 | { | |
f9cc0d70 | 62 | char driver[80]; |
75ae2191 MT |
63 | char description[256]; |
64 | char macaddr[20]; | |
b4e381a8 | 65 | }; |
5057b611 | 66 | |
75ae2191 | 67 | struct knic |
b4e381a8 | 68 | { |
f9cc0d70 | 69 | char driver[80]; |
75ae2191 MT |
70 | char description[256]; |
71 | char macaddr[20]; | |
5057b611 | 72 | char colour[20]; |
b4e381a8 MT |
73 | }; |
74 | ||
5057b611 | 75 | |
b4e381a8 MT |
76 | /* libsmooth.c */ |
77 | void reboot(void); | |
78 | void stripnl(char *s); | |
79 | int mysystem(char *command); | |
80 | void errorbox(char *message); | |
81 | void statuswindow(int width, int height, char *title, char *text, ...); | |
82 | int runcommandwithprogress(int width, int height, char *title, char *command, | |
83 | int lines, char *text, ...); | |
84 | int runcommandwithstatus(char *command, char *message); | |
85 | int runhiddencommandwithstatus(char *command, char *message); | |
86 | int checkformodule(char *module); | |
87 | int replace(char filename1[], char *from, char *to); | |
88 | char* get_version(void); | |
89 | ||
90 | /* netstuff.c */ | |
91 | int changeaddress(struct keyvalue *kv, char *colour, int typeflag, | |
92 | char *defaultdhcphostname); | |
93 | int gettype(char *type); | |
94 | int setnetaddress(struct keyvalue *kv, char *colour); | |
95 | void networkdialogcallbacktype(newtComponent cm, void *data); | |
96 | int interfacecheck(struct keyvalue *kv, char *colour); | |
5057b611 | 97 | int scan_network_cards(void); |
9b040aa0 HS |
98 | int nicmenu(int colour); |
99 | int clear_card_entry(int cards); | |
100 | int ask_clear_card_entry(int cards); | |
b4e381a8 | 101 | int manualdriver(char *driver, char *driveroptions); |
b4e381a8 | 102 | |
d10e55d1 | 103 | /* varval.c */ |
b4e381a8 MT |
104 | struct keyvalue *initkeyvalues(void); |
105 | void freekeyvalues(struct keyvalue *head); | |
106 | int readkeyvalues(struct keyvalue *head, char *filename); | |
107 | int writekeyvalues(struct keyvalue *head, char *filename); | |
108 | int findkey(struct keyvalue *head, char *key, char *value); | |
109 | void appendkeyvalue(struct keyvalue *head, char *key, char *value); | |
110 | void replacekeyvalue(struct keyvalue *head, char *key, char *value); | |
111 | ||
112 | #endif | |
113 |