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

📄 attribute.c

📁 早期freebsd实现
💻 C
字号:
#ifndef lintstatic char *rcsid = "$Header: attribute.c,v 1.2 87/03/31 14:32:17 ed Exp $";#endif lint/* $Log:	attribute.c,v $ * Revision 1.2  87/03/31  14:32:17  ed * Added Filing version 5 support. *  * Revision 1.1  87/01/14  11:25:53  ed * Initial revision *  */#include <sys/types.h>#include <netns/ns.h>#include <netns/sp.h>#ifdef FILING4#include "filingV4.h"#include "clearinghouseV2.h"#endif FILING4#ifdef FILING5#include "filingV5.h"#include "clearinghouseV2.h"#endif FILING5#ifdef FILING6#include "filingV6.h"#include "clearinghouseV3.h"#endif FILING6#ifdef FILINGSUBSET1#include "filingsubsetV1.h"#include "clearinghouseV3.h"#endif FILINGSUBSET1StringToAttr(str, attr)	char *str;	FILING_Attribute *attr;{	Unspecified buf[2049], *bp;	Cardinal len;	bp = buf + sizeof_Cardinal(len);	len = externalize_String(&str, bp);	(void) externalize_Cardinal(&len, buf);	internalize_Sequence_of_Unspecified(&(attr->value), buf);	return;}char *AttrToString(attr)	FILING_Attribute *attr;{	Unspecified buf[2049], *bp;	Cardinal len;	char *strval;	externalize_Sequence_of_Unspecified(&(attr->value), buf);	bp = buf;	bp += internalize_Cardinal(&len, bp);	bp += internalize_String(&strval, bp);		return(strval);}UserToAttr(id, attr)	CLEARINGHOUSE_Name id;	FILING_Attribute *attr;{	Unspecified buf[2049], *bp;	Cardinal len;	bp = buf + sizeof_Cardinal(len);	len = CLEARINGHOUSE_externalize_Name(&id, bp);	(void) externalize_Cardinal(&len, buf);	internalize_Sequence_of_Unspecified(&(attr->value), buf);	return;}LongCardinalToAttr(val, attr)	LongCardinal val;	FILING_Attribute *attr;{	Unspecified buf[3], *bp;	Cardinal len;	bp = buf + sizeof_Cardinal(len);	len = externalize_LongCardinal(&val, bp);	(void) externalize_Cardinal(&len, buf);	internalize_Sequence_of_Unspecified(&(attr->value), buf);	return;}LongCardinalAttrToLongCardinal(attr)	FILING_Attribute *attr;{	Unspecified buf[2];	LongCardinal result;	(void) externalize_Unspecified(attr->value.sequence, buf);	(void) externalize_Unspecified((attr->value.sequence)+1, buf+1);	(void) internalize_LongCardinal(&result, buf);	return(result);}BooleanToAttr(val, attr)	int val;	FILING_Attribute *attr;{	Boolean boolval;	Unspecified buf[3], *bp;	Cardinal len;	boolval = (Boolean) val;	bp = buf + sizeof_Cardinal(len);	len = externalize_Boolean(&boolval, bp);	(void) externalize_Cardinal(&len, buf);	internalize_Sequence_of_Unspecified(&(attr->value), buf);	return;}intAttrToBoolean(attr)	FILING_Attribute *attr;{	Unspecified buf[1];	Boolean result;	(void) externalize_Unspecified(attr->value.sequence, buf);	(void) internalize_Boolean(&result, buf);	return(result);}CardinalToAttr(val, attr)	Cardinal val;	FILING_Attribute *attr;{	Unspecified buf[3], *bp;	Cardinal len;	bp = buf + sizeof_Cardinal(len);	len = externalize_Cardinal(&val, bp);	(void) externalize_Cardinal(&len, buf);	internalize_Sequence_of_Unspecified(&(attr->value), buf);	return;}CardinalAttrToCardinal(attr)	FILING_Attribute *attr;{    	Unspecified buf[2];	Cardinal result;	(void) externalize_Unspecified(attr->value.sequence, buf);	(void) internalize_Cardinal(&result, buf);	return(result);}FileIDToAttr(value, attr)	Cardinal value[];	FILING_Attribute *attr;{	Unspecified buf[6], *bp;	Cardinal len;	bp = buf + sizeof_Cardinal(len);	len = FILING_externalize_FileID(value, bp);	(void) externalize_Cardinal(&len, buf);	internalize_Sequence_of_Unspecified(&(attr->value), buf);	return;}Unspecified *AttrToFileID(attr)	FILING_Attribute *attr;{	Unspecified *bp;	Unspecified buf[6];	bp= Allocate(FILING_sizeof_FileID(0));	(void) FILING_externalize_FileID(attr->value.sequence,buf);	(void) FILING_internalize_FileID(bp,buf);	return(bp);}

⌨️ 快捷键说明

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