misc.c

来自「linux下的ppp协议簇开源代码; 可以进行linux内核级的pppoe拨号」· C语言 代码 · 共 52 行

C
52
字号
/* misc.c - Miscellaneous library functions *//* Written 1997-2000 by Werner Almesberger, EPFL-ICA/ICA */#if HAVE_CONFIG_H#include <config.h>#endif#include <stdint.h>#include <stdarg.h>#include <string.h>#include <sys/socket.h>#include <sys/ioctl.h>#include <netinet/in.h> /* for htons */#include <atm.h>#include <atmsap.h>int __atmlib_fetch(const char **pos,...){    const char *value;    int ref_len,best_len,len;    int i,best;    va_list ap;    va_start(ap,pos);    ref_len = strlen(*pos);    best_len = 0;    best = -1;    for (i = 0; (value = va_arg(ap,const char *)); i++) {	len = strlen(value);	if (*value != '!' && len <= ref_len && len > best_len &&	  !strncasecmp(*pos,value,len)) {	    best = i;	    best_len = len;	}    }    va_end(ap);    if (best > -1) (*pos) += best_len;    return best;}void atm_tcpip_port_mapping(char *vs_id,uint8_t protocol,uint16_t port){    memcpy(vs_id,ATM_FORUM_OUI "\x01",4);    vs_id[4] = protocol; /* e.g. IP_TCP or IP_UDP; from netinet/protocols.h */    vs_id[5] = (htons(port) >> 8) & 255;    vs_id[6] = htons(port) & 255;}

⌨️ 快捷键说明

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