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

📄 slip_common.c

📁 linux-2.6.15.6
💻 C
字号:
#include <string.h>#include "slip_common.h"#include "net_user.h"int slip_proto_read(int fd, void *buf, int len, struct slip_proto *slip){	int i, n, size, start;	if(slip->more > 0){		i = 0;		while(i < slip->more){			size = slip_unesc(slip->ibuf[i++], slip->ibuf,					  &slip->pos, &slip->esc);			if(size){				memcpy(buf, slip->ibuf, size);				memmove(slip->ibuf, &slip->ibuf[i],					slip->more - i);				slip->more = slip->more - i;				return size;			}		}		slip->more = 0;	}	n = net_read(fd, &slip->ibuf[slip->pos],		     sizeof(slip->ibuf) - slip->pos);	if(n <= 0)		return n;	start = slip->pos;	for(i = 0; i < n; i++){		size = slip_unesc(slip->ibuf[start + i], slip->ibuf,&slip->pos,				  &slip->esc);		if(size){			memcpy(buf, slip->ibuf, size);			memmove(slip->ibuf, &slip->ibuf[start+i+1],				n - (i + 1));			slip->more = n - (i + 1);			return size;		}	}	return 0;}int slip_proto_write(int fd, void *buf, int len, struct slip_proto *slip){	int actual, n;	actual = slip_esc(buf, slip->obuf, len);	n = net_write(fd, slip->obuf, actual);	if(n < 0)		return n;	else return len;}

⌨️ 快捷键说明

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