⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 misc.c

📁 基于TCP-WRAP原理的系统监控的c语言实现代码
💻 C
字号:
 /*  * Misc routines that are used by tcpd and by tcpdchk.  *   * Author: Wietse Venema, Eindhoven University of Technology, The Netherlands.  */#ifndef lintstatic char sccsic[] = "@(#) misc.c 1.2 96/02/11 17:01:29";#endif#include <sys/types.h>#include <sys/param.h>#include <netinet/in.h>#include <arpa/inet.h>#include <stdio.h>#include <string.h>#include "tcpd.h"extern char *fgets();#ifndef	INADDR_NONE#define	INADDR_NONE	(-1)		/* XXX should be 0xffffffff */#endif/* xgets - fgets() with backslash-newline stripping */char   *xgets(ptr, len, fp)char   *ptr;int     len;FILE   *fp;{    int     got;    char   *start = ptr;    while (fgets(ptr, len, fp)) {	got = strlen(ptr);	if (got >= 1 && ptr[got - 1] == '\n') {	    tcpd_context.line++;	    if (got >= 2 && ptr[got - 2] == '\\') {		got -= 2;	    } else {		return (start);	    }	}	ptr += got;	len -= got;	ptr[0] = 0;    }    return (ptr > start ? start : 0);}/* split_at - break string at delimiter or return NULL */char   *split_at(string, delimiter)char   *string;int     delimiter;{    char   *cp;    if ((cp = strchr(string, delimiter)) != 0)	*cp++ = 0;    return (cp);}/* dot_quad_addr - convert dotted quad to internal form */unsigned long dot_quad_addr(str)char   *str;{    int     in_run = 0;    int     runs = 0;    char   *cp = str;    /* Count the number of runs of non-dot characters. */    while (*cp) {	if (*cp == '.') {	    in_run = 0;	} else if (in_run == 0) {	    in_run = 1;	    runs++;	}	cp++;    }    return (runs == 4 ? inet_addr(str) : INADDR_NONE);}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -