Annotation of embedaddon/mpd/src/util.h, revision 1.1.1.3

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"
1.1.1.3 ! misho      14: #include <net/ethernet.h>
        !            15: #include <osreldate.h>
1.1       misho      16:   /*-
                     17:    * The following macro is used to update an
                     18:    * internet checksum.  "acc" is a 32-bit
                     19:    * accumulation of all the changes to the
                     20:    * checksum (adding in old 16-bit words and
                     21:    * subtracting out new words), and "cksum"
                     22:    * is the checksum value to be updated.
                     23:    */
                     24:   #define ADJUST_CHECKSUM(acc, cksum) { \
                     25:     acc += cksum; \
                     26:     if (acc < 0) { \
                     27:       acc = -acc; \
                     28:       acc = (acc >> 16) + (acc & 0xffff); \
                     29:       acc += acc >> 16; \
                     30:       cksum = (u_short) ~acc; \
                     31:     } else { \
                     32:       acc = (acc >> 16) + (acc & 0xffff); \
                     33:       acc += acc >> 16; \
                     34:       cksum = (u_short) acc; \
                     35:     } \
                     36:   }
                     37: 
                     38:   #define MAX_U_INT32 0xffffffffU
                     39: 
                     40:   #define IFCONF_BUFFSIZE      16384
                     41:   #define IFCONF_BUFFMAXSIZE   1048576
                     42: 
                     43:   struct configfile {
                     44:     char               *label;
                     45:     off_t              seek;
                     46:     int                        linenum;
                     47:     struct configfile  *next;
                     48:   };
                     49: 
                     50:   struct configfiles {
                     51:     char               *filename;
                     52:     struct configfile  *sections;
                     53:     struct configfiles *next;
                     54:   };
                     55: /*
                     56:  * FUNCTIONS
                     57:  */
                     58: 
                     59:   extern FILE          *OpenConfFile(const char *name, struct configfile **cf);
                     60:   extern int           SeekToLabel(FILE *fp, const char *label, int *lineNum, struct configfile *cf);
                     61: 
                     62:   extern char          *ReadFullLine(FILE *fp, int *lineNum, char *result, int resultlen);
                     63:   extern int           ReadFile(const char *filename, const char *target,
                     64:                                int (*func)(Context ctx, int ac, char *av[], const char *file, int line), Context ctx);
                     65:   extern int           ParseLine(char *line, char *vec[], int max_args, int copy);
                     66:   extern void          FreeArgs(int ac, char *av[]);
                     67: 
                     68:   extern int           TcpGetListenPort(struct u_addr *addr, in_port_t port, int block);
                     69:   extern int           TcpAcceptConnection(int sock, struct sockaddr_storage *addr, int block);
                     70:   extern int           GetInetSocket(int type, struct u_addr *addr, in_port_t port, int block, char *ebuf, size_t len);
                     71: 
1.1.1.2   misho      72: #ifdef PHYSTYPE_MODEM
1.1       misho      73:   extern int           OpenSerialDevice(const char *label, const char *path, int baudrate);
                     74:   extern int           ExclusiveOpenDevice(const char *label, const char *path);
                     75:   extern void          ExclusiveCloseDevice(const char *label, int fd, const char *path);
1.1.1.2   misho      76: #endif
1.1       misho      77: 
                     78:   extern int           PIDCheck(const char *lockfile, int killem);
                     79: 
                     80:   extern void          LengthenArray(void *arrayp, size_t esize,
                     81:                                int *alenp, const char *type);
                     82: 
                     83:   extern int           ExecCmd(int log, const char *label, const char *fmt, ...)
                     84:                                __printflike(3, 4);
                     85:   extern int           ExecCmdNosh(int log, const char *label, const char *fmt, ...)
                     86:                                __printflike(3, 4);
                     87:   extern void          ShowMesg(int log, const char *pref, const char *buf, int len);
                     88:   extern char          *Bin2Hex(const unsigned char *bin, size_t len);
                     89:   extern u_char                *Hex2Bin(char *hexstr);
1.1.1.2   misho      90: #ifndef USE_NG_PRED1
1.1       misho      91:   extern u_short       Crc16(u_short fcs, u_char *cp, int len);
1.1.1.2   misho      92: #endif
1.1       misho      93:   extern u_long                GenerateMagic(void);
                     94: 
                     95:   extern int           GetAnyIpAddress(struct u_addr *ipaddr, const char *ifname);
                     96:   extern int           GetEther(struct u_addr *addr,
                     97:                            struct sockaddr_dl *hwaddr);
                     98:   extern int           GetPeerEther(struct u_addr *addr, struct sockaddr_dl *hwaddr);
                     99:   extern void          ppp_util_ascify(char *buf, size_t max,
                    100:                            const char *bytes, size_t len);
1.1.1.3 ! misho     101: #ifndef        HAVE_NTOA_R
        !           102:   extern char          *ether_ntoa_r(const struct ether_addr *n, char *a);
        !           103: #endif
1.1       misho     104: 
                    105: #endif

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>