cygwin.c

来自「这是一个同样来自贝尔实验室的和UNIX有着渊源的操作系统, 其简洁的设计和实现易」· C语言 代码 · 共 63 行

C
63
字号
/* compatability layer for u9fs support on CYGWIN */#include <unistd.h>#include <errno.h>ssize_tpread(int fd, void *p, size_t n, off_t off){	off_t ooff;	int oerrno;	if ((ooff  = lseek(fd, off, SEEK_SET)) == -1)		return -1;	n = read(fd, p, n);	oerrno = errno;	lseek(fd, ooff, SEEK_SET);	errno = oerrno;	return n;}ssize_tpwrite(int fd, const void *p, size_t n, off_t off){	off_t ooff;	int oerrno;	if ((ooff  = lseek(fd, off, SEEK_SET)) == -1)		return -1;	n = write(fd, p, n);	oerrno = errno;	lseek(fd, ooff, SEEK_SET);	errno = oerrno;	return n;}intsetreuid(int ruid, int euid){	if (ruid != -1)		if (setuid(ruid) == -1)			return(-1);	if (euid != -1)		if (seteuid(euid) == -1)			return(-1);}intsetregid(int rgid, int egid){	if (rgid != -1)		if (setgid(rgid) == -1)			return(-1);	if (egid != -1)		if (setegid(egid) == -1)			return(-1);}

⌨️ 快捷键说明

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