Annotation of embedaddon/mpd/src/util.h, revision 1.1
1.1 ! misho 1:
! 2: /*
! 3: * util.h
! 4: *
! 5: * Written by Archie Cobbs <archie@freebsd.org>
! 6: * Copyright (c) 1995-1999 Whistle Communications, Inc. All rights reserved.
! 7: * See ``COPYRIGHT.whistle''
! 8: */
! 9:
! 10: #ifndef _UTIL_H_
! 11: #define _UTIL_H_
! 12:
! 13: #include "ip.h"
! 14:
! 15: /*-
! 16: * The following macro is used to update an
! 17: * internet checksum. "acc" is a 32-bit
! 18: * accumulation of all the changes to the
! 19: * checksum (adding in old 16-bit words and
! 20: * subtracting out new words), and "cksum"
! 21: * is the checksum value to be updated.
! 22: */
! 23: #define ADJUST_CHECKSUM(acc, cksum) { \
! 24: acc += cksum; \
! 25: if (acc < 0) { \
! 26: acc = -acc; \
! 27: acc = (acc >> 16) + (acc & 0xffff); \
! 28: acc += acc >> 16; \
! 29: cksum = (u_short) ~acc; \
! 30: } else { \
! 31: acc = (acc >> 16) + (acc & 0xffff); \
! 32: acc += acc >> 16; \
! 33: cksum = (u_short) acc; \
! 34: } \
! 35: }
! 36:
! 37: #define MAX_U_INT32 0xffffffffU
! 38:
! 39: #define IFCONF_BUFFSIZE 16384
! 40: #define IFCONF_BUFFMAXSIZE 1048576
! 41:
! 42: struct configfile {
! 43: char *label;
! 44: off_t seek;
! 45: int linenum;
! 46: struct configfile *next;
! 47: };
! 48:
! 49: struct configfiles {
! 50: char *filename;
! 51: struct configfile *sections;
! 52: struct configfiles *next;
! 53: };
! 54: /*
! 55: * FUNCTIONS
! 56: */
! 57:
! 58: extern FILE *OpenConfFile(const char *name, struct configfile **cf);
! 59: extern int SeekToLabel(FILE *fp, const char *label, int *lineNum, struct configfile *cf);
! 60:
! 61: extern char *ReadFullLine(FILE *fp, int *lineNum, char *result, int resultlen);
! 62: extern int ReadFile(const char *filename, const char *target,
! 63: int (*func)(Context ctx, int ac, char *av[], const char *file, int line), Context ctx);
! 64: extern int ParseLine(char *line, char *vec[], int max_args, int copy);
! 65: extern void FreeArgs(int ac, char *av[]);
! 66:
! 67: extern int TcpGetListenPort(struct u_addr *addr, in_port_t port, int block);
! 68: extern int TcpAcceptConnection(int sock, struct sockaddr_storage *addr, int block);
! 69: extern int GetInetSocket(int type, struct u_addr *addr, in_port_t port, int block, char *ebuf, size_t len);
! 70:
! 71: extern int OpenSerialDevice(const char *label, const char *path, int baudrate);
! 72: extern int ExclusiveOpenDevice(const char *label, const char *path);
! 73: extern void ExclusiveCloseDevice(const char *label, int fd, const char *path);
! 74:
! 75: extern int PIDCheck(const char *lockfile, int killem);
! 76:
! 77: extern void LengthenArray(void *arrayp, size_t esize,
! 78: int *alenp, const char *type);
! 79:
! 80: extern int ExecCmd(int log, const char *label, const char *fmt, ...)
! 81: __printflike(3, 4);
! 82: extern int ExecCmdNosh(int log, const char *label, const char *fmt, ...)
! 83: __printflike(3, 4);
! 84: extern void ShowMesg(int log, const char *pref, const char *buf, int len);
! 85: extern char *Bin2Hex(const unsigned char *bin, size_t len);
! 86: extern u_char *Hex2Bin(char *hexstr);
! 87: extern u_short Crc16(u_short fcs, u_char *cp, int len);
! 88: extern u_long GenerateMagic(void);
! 89:
! 90: extern int GetAnyIpAddress(struct u_addr *ipaddr, const char *ifname);
! 91: extern int GetEther(struct u_addr *addr,
! 92: struct sockaddr_dl *hwaddr);
! 93: extern int GetPeerEther(struct u_addr *addr, struct sockaddr_dl *hwaddr);
! 94: extern void ppp_util_ascify(char *buf, size_t max,
! 95: const char *bytes, size_t len);
! 96:
! 97: #endif
! 98:
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>