version 1.1.1.1, 2012/02/21 23:32:47
|
version 1.1.1.4, 2021/03/17 00:39:23
|
Line 11
|
Line 11
|
#define _UTIL_H_ |
#define _UTIL_H_ |
|
|
#include "ip.h" |
#include "ip.h" |
| #include <net/ethernet.h> |
/*- | #include <net/if_dl.h> |
* The following macro is used to update an | #include <stdio.h> |
* internet checksum. "acc" is a 32-bit | #include <osreldate.h> |
* accumulation of all the changes to the | /*- |
* checksum (adding in old 16-bit words and | * The following macro is used to update an |
* subtracting out new words), and "cksum" | * internet checksum. "acc" is a 32-bit |
* is the checksum value to be updated. | * accumulation of all the changes to the |
*/ | * checksum (adding in old 16-bit words and |
#define ADJUST_CHECKSUM(acc, cksum) { \ | * subtracting out new words), and "cksum" |
| * is the checksum value to be updated. |
| */ |
| #define ADJUST_CHECKSUM(acc, cksum) { \ |
acc += cksum; \ |
acc += cksum; \ |
if (acc < 0) { \ |
if (acc < 0) { \ |
acc = -acc; \ |
acc = -acc; \ |
Line 34
|
Line 37
|
} \ |
} \ |
} |
} |
|
|
#define MAX_U_INT32 0xffffffffU | #define MAX_U_INT32 0xffffffffU |
|
|
#define IFCONF_BUFFSIZE 16384 | #define IFCONF_BUFFSIZE 16384 |
#define IFCONF_BUFFMAXSIZE 1048576 | #define IFCONF_BUFFMAXSIZE 1048576 |
|
|
struct configfile { | struct configfile { |
char *label; | char *label; |
off_t seek; | off_t seek; |
int linenum; | int linenum; |
struct configfile *next; | struct configfile *next; |
}; | }; |
|
|
struct configfiles { | struct configfiles { |
char *filename; | char *filename; |
struct configfile *sections; | struct configfile *sections; |
struct configfiles *next; | struct configfiles *next; |
}; | }; |
| |
/* |
/* |
* FUNCTIONS |
* FUNCTIONS |
*/ |
*/ |
|
|
extern FILE *OpenConfFile(const char *name, struct configfile **cf); | extern FILE *OpenConfFile(const char *name, struct configfile **cf); |
extern int SeekToLabel(FILE *fp, const char *label, int *lineNum, struct configfile *cf); | extern int SeekToLabel(FILE *fp, const char *label, int *lineNum, struct configfile *cf); |
| extern char *ReadFullLine(FILE *fp, int *lineNum, char *result, int resultlen); |
| extern int ReadFile(const char *filename, const char *target, int (*func) (Context ctx, int ac, const char *const av[], const char *file, int line), Context ctx); |
| extern int ParseLine(char *line, char *vec[], int max_args, int copy); |
| extern void FreeArgs(int ac, char *av[]); |
|
|
extern char *ReadFullLine(FILE *fp, int *lineNum, char *result, int resultlen); | extern int TcpGetListenPort(struct u_addr *addr, in_port_t port, int block); |
extern int ReadFile(const char *filename, const char *target, | extern int TcpAcceptConnection(int sock, struct sockaddr_storage *addr, int block); |
int (*func)(Context ctx, int ac, char *av[], const char *file, int line), Context ctx); | extern int GetInetSocket(int type, struct u_addr *addr, in_port_t port, int block, char *ebuf, size_t len); |
extern int ParseLine(char *line, char *vec[], int max_args, int copy); | |
extern void FreeArgs(int ac, char *av[]); | |
|
|
extern int TcpGetListenPort(struct u_addr *addr, in_port_t port, int block); | #ifdef PHYSTYPE_MODEM |
extern int TcpAcceptConnection(int sock, struct sockaddr_storage *addr, int block); | extern int OpenSerialDevice(const char *label, const char *path, int baudrate); |
extern int GetInetSocket(int type, struct u_addr *addr, in_port_t port, int block, char *ebuf, size_t len); | extern int ExclusiveOpenDevice(const char *label, const char *path); |
| extern void ExclusiveCloseDevice(const char *label, int fd, const char *path); |
|
|
extern int OpenSerialDevice(const char *label, const char *path, int baudrate); | #endif |
extern int ExclusiveOpenDevice(const char *label, const char *path); | |
extern void ExclusiveCloseDevice(const char *label, int fd, const char *path); | |
|
|
extern int PIDCheck(const char *lockfile, int killem); | extern int PIDCheck(const char *lockfile, int killem); |
|
|
extern void LengthenArray(void *arrayp, size_t esize, | extern void LengthenArray(void *arrayp, size_t esize, int *alenp, const char *type); |
int *alenp, const char *type); | |
|
|
extern int ExecCmd(int log, const char *label, const char *fmt, ...) | extern int ExecCmd(int log, const char *label, const char *fmt,...)__printflike(3, 4); |
__printflike(3, 4); | extern int ExecCmdNosh(int log, const char *label, const char *fmt,...)__printflike(3, 4); |
extern int ExecCmdNosh(int log, const char *label, const char *fmt, ...) | |
__printflike(3, 4); | |
extern void ShowMesg(int log, const char *pref, const char *buf, int len); | |
extern char *Bin2Hex(const unsigned char *bin, size_t len); | |
extern u_char *Hex2Bin(char *hexstr); | |
extern u_short Crc16(u_short fcs, u_char *cp, int len); | |
extern u_long GenerateMagic(void); | |
|
|
extern int GetAnyIpAddress(struct u_addr *ipaddr, const char *ifname); | extern void ShowMesg(int log, const char *pref, const char *buf, int len); |
extern int GetEther(struct u_addr *addr, | extern char *Bin2Hex(const unsigned char *bin, size_t len); |
struct sockaddr_dl *hwaddr); | extern u_char *Hex2Bin(char *hexstr); |
extern int GetPeerEther(struct u_addr *addr, struct sockaddr_dl *hwaddr); | |
extern void ppp_util_ascify(char *buf, size_t max, | |
const char *bytes, size_t len); | |
|
|
|
#ifndef USE_NG_PRED1 |
|
extern u_short Crc16(u_short fcs, u_char *cp, int len); |
|
|
#endif |
#endif |
|
|
|
extern u_long GenerateMagic(void); |
|
|
|
extern int GetAnyIpAddress(struct u_addr *ipaddr, const char *ifname); |
|
extern int GetEther(struct u_addr *addr, struct sockaddr_dl *hwaddr); |
|
extern int GetPeerEther(struct u_addr *addr, struct sockaddr_dl *hwaddr); |
|
extern void ppp_util_ascify(char *buf, size_t max, const char *bytes, size_t len); |
|
extern int IfaceSetFlag(const char *ifname, int value); |
|
|
|
#ifndef HAVE_NTOA_R |
|
extern char *ether_ntoa_r(const struct ether_addr *n, char *a); |
|
|
|
#endif |
|
|
|
|
|
#endif |