|
|
1.1 root 1: #ifndef lint
2: static char *rcsid = "$Header: attribute.c,v 1.2 87/03/31 14:32:17 ed Exp $";
3: #endif lint
4:
5: /* $Log: attribute.c,v $
6: * Revision 1.2 87/03/31 14:32:17 ed
7: * Added Filing version 5 support.
8: *
9: * Revision 1.1 87/01/14 11:25:53 ed
10: * Initial revision
11: *
12: */
13:
14: #include <sys/types.h>
15: #include <netns/ns.h>
16: #include <netns/sp.h>
17: #ifdef FILING4
18: #include "filingV4.h"
19: #include "clearinghouseV2.h"
20: #endif FILING4
21: #ifdef FILING5
22: #include "filingV5.h"
23: #include "clearinghouseV2.h"
24: #endif FILING5
25: #ifdef FILING6
26: #include "filingV6.h"
27: #include "clearinghouseV3.h"
28: #endif FILING6
29: #ifdef FILINGSUBSET1
30: #include "filingsubsetV1.h"
31: #include "clearinghouseV3.h"
32: #endif FILINGSUBSET1
33:
34: StringToAttr(str, attr)
35: char *str;
36: FILING_Attribute *attr;
37: {
38: Unspecified buf[2049], *bp;
39: Cardinal len;
40:
41: bp = buf + sizeof_Cardinal(len);
42: len = externalize_String(&str, bp);
43: (void) externalize_Cardinal(&len, buf);
44: internalize_Sequence_of_Unspecified(&(attr->value), buf);
45: return;
46: }
47:
48: char *
49: AttrToString(attr)
50: FILING_Attribute *attr;
51: {
52: Unspecified buf[2049], *bp;
53: Cardinal len;
54: char *strval;
55:
56: externalize_Sequence_of_Unspecified(&(attr->value), buf);
57: bp = buf;
58: bp += internalize_Cardinal(&len, bp);
59: bp += internalize_String(&strval, bp);
60: return(strval);
61: }
62:
63: UserToAttr(id, attr)
64: CLEARINGHOUSE_Name id;
65: FILING_Attribute *attr;
66: {
67: Unspecified buf[2049], *bp;
68: Cardinal len;
69:
70: bp = buf + sizeof_Cardinal(len);
71: len = CLEARINGHOUSE_externalize_Name(&id, bp);
72: (void) externalize_Cardinal(&len, buf);
73: internalize_Sequence_of_Unspecified(&(attr->value), buf);
74: return;
75: }
76:
77: LongCardinalToAttr(val, attr)
78: LongCardinal val;
79: FILING_Attribute *attr;
80: {
81: Unspecified buf[3], *bp;
82: Cardinal len;
83:
84: bp = buf + sizeof_Cardinal(len);
85: len = externalize_LongCardinal(&val, bp);
86: (void) externalize_Cardinal(&len, buf);
87: internalize_Sequence_of_Unspecified(&(attr->value), buf);
88: return;
89: }
90:
91: LongCardinal
92: AttrToLongCardinal(attr)
93: FILING_Attribute *attr;
94: {
95: Unspecified buf[2];
96: LongCardinal result;
97:
98: (void) externalize_Unspecified(attr->value.sequence, buf);
99: (void) externalize_Unspecified((attr->value.sequence)+1, buf+1);
100: (void) internalize_LongCardinal(&result, buf);
101: return(result);
102: }
103:
104: BooleanToAttr(val, attr)
105: int val;
106: FILING_Attribute *attr;
107: {
108: Boolean boolval;
109: Unspecified buf[3], *bp;
110: Cardinal len;
111:
112: boolval = (Boolean) val;
113: bp = buf + sizeof_Cardinal(len);
114: len = externalize_Boolean(&boolval, bp);
115: (void) externalize_Cardinal(&len, buf);
116: internalize_Sequence_of_Unspecified(&(attr->value), buf);
117: return;
118: }
119:
120: int
121: AttrToBoolean(attr)
122: FILING_Attribute *attr;
123: {
124: Unspecified buf[1];
125: Boolean result;
126:
127: (void) externalize_Unspecified(attr->value.sequence, buf);
128: (void) internalize_Boolean(&result, buf);
129: return(result);
130: }
131:
132: CardinalToAttr(val, attr)
133: Cardinal val;
134: FILING_Attribute *attr;
135: {
136: Unspecified buf[3], *bp;
137: Cardinal len;
138:
139: bp = buf + sizeof_Cardinal(len);
140: len = externalize_Cardinal(&val, bp);
141: (void) externalize_Cardinal(&len, buf);
142: internalize_Sequence_of_Unspecified(&(attr->value), buf);
143: return;
144: }
145:
146: Cardinal
147: AttrToCardinal(attr)
148: FILING_Attribute *attr;
149: {
150: Unspecified buf[2];
151: Cardinal result;
152: (void) externalize_Unspecified(attr->value.sequence, buf);
153: (void) internalize_Cardinal(&result, buf);
154: return(result);
155: }
156:
157: FileIDToAttr(value, attr)
158: Cardinal value[];
159: FILING_Attribute *attr;
160: {
161: Unspecified buf[6], *bp;
162: Cardinal len;
163:
164: bp = buf + sizeof_Cardinal(len);
165: len = FILING_externalize_FileID(value, bp);
166: (void) externalize_Cardinal(&len, buf);
167: internalize_Sequence_of_Unspecified(&(attr->value), buf);
168: return;
169: }
170:
171: Unspecified *
172: AttrToFileID(attr)
173: FILING_Attribute *attr;
174: {
175: Unspecified *bp;
176: Unspecified buf[6];
177:
178: bp= Allocate(FILING_sizeof_FileID(0));
179:
180: (void) FILING_externalize_FileID(attr->value.sequence,buf);
181: (void) FILING_internalize_FileID(bp,buf);
182:
183: return(bp);
184: }
185:
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.