0af5a501defa3284853af358aff10e5d9d6aae8a
4 char *piaddr( struct iaddr addr
) {
6 memcpy(&sa
.sin_addr
,addr
.iabuf
,sizeof(sa
.sin_addr
));
7 return inet_ntoa( sa
.sin_addr
);
10 int note( char *format
, ... ) {
12 va_start( arg_begin
, format
);
16 ret
= vsnprintf( buf
, sizeof(buf
), format
, arg_begin
);
18 DbgPrint("NOTE: %s\n", buf
);
23 int debug( char *format
, ... ) {
25 va_start( arg_begin
, format
);
29 ret
= vsnprintf( buf
, sizeof(buf
), format
, arg_begin
);
31 DbgPrint("DEBUG: %s\n", buf
);
36 int warn( char *format
, ... ) {
38 va_start( arg_begin
, format
);
42 ret
= vsnprintf( buf
, sizeof(buf
), format
, arg_begin
);
44 DbgPrint("WARN: %s\n", buf
);
49 int warning( char *format
, ... ) {
51 va_start( arg_begin
, format
);
55 ret
= vsnprintf( buf
, sizeof(buf
), format
, arg_begin
);
57 DbgPrint("WARNING: %s\n", buf
);
62 void error( char *format
, ... ) {
64 va_start( arg_begin
, format
);
67 vsnprintf( buf
, sizeof(buf
), format
, arg_begin
);
69 DbgPrint("ERROR: %s\n", buf
);
72 int16_t getShort( unsigned char *data
) {
73 return (int16_t) ntohs(*(int16_t*) data
);
76 u_int16_t
getUShort( unsigned char *data
) {
77 return (u_int16_t
) ntohs(*(u_int16_t
*) data
);
80 int32_t getLong( unsigned char *data
) {
81 return (int32_t) ntohl(*(u_int32_t
*) data
);
84 u_int32_t
getULong( unsigned char *data
) {
85 return ntohl(*(u_int32_t
*)data
);
88 int addr_eq( struct iaddr a
, struct iaddr b
) {
89 return a
.len
== b
.len
&& !memcmp( a
.iabuf
, b
.iabuf
, a
.len
);
92 void *dmalloc( int size
, char *name
) { return malloc( size
); }
93 void dfree( void *v
, char *name
) { free( v
); }
95 int read_client_conf(void) {
96 error("util.c read_client_conf not implemented!");
100 struct iaddr
broadcast_addr( struct iaddr addr
, struct iaddr mask
) {
101 struct iaddr bcast
= { 0 };
105 struct iaddr
subnet_number( struct iaddr addr
, struct iaddr mask
) {
106 struct iaddr bcast
= { 0 };