1 /* This file was created automatically
2  * Source file: $Begemot: libunimsg/atm/msg/msg.def,v 1.3 2003/09/19 11:58:15 hbb Exp $
3  * $FreeBSD$
4  */
5 
6 #include <netnatm/msg/unistruct.h>
7 #include <netnatm/sig/unimsgcpy.h>
8 
9 void
copy_msg_alerting(struct uni_alerting * src,struct uni_alerting * dst)10 copy_msg_alerting(struct uni_alerting *src, struct uni_alerting *dst)
11 {
12 	u_int s, d;
13 
14 	if(IE_ISGOOD(src->connid))
15 		dst->connid = src->connid;
16 	if(IE_ISGOOD(src->epref))
17 		dst->epref = src->epref;
18 	if(IE_ISGOOD(src->notify))
19 		dst->notify = src->notify;
20 	for(s = d = 0; s < UNI_NUM_IE_GIT; s++)
21 		if(IE_ISGOOD(src->git[s]))
22 			dst->git[d++] = src->git[s];
23 	if(IE_ISGOOD(src->uu))
24 		dst->uu = src->uu;
25 	if(IE_ISGOOD(src->report))
26 		dst->report = src->report;
27 	if(IE_ISGOOD(src->unrec))
28 		dst->unrec = src->unrec;
29 }
30 
31 void
copy_msg_call_proc(struct uni_call_proc * src,struct uni_call_proc * dst)32 copy_msg_call_proc(struct uni_call_proc *src, struct uni_call_proc *dst)
33 {
34 	if(IE_ISGOOD(src->connid))
35 		dst->connid = src->connid;
36 	if(IE_ISGOOD(src->epref))
37 		dst->epref = src->epref;
38 	if(IE_ISGOOD(src->notify))
39 		dst->notify = src->notify;
40 	if(IE_ISGOOD(src->unrec))
41 		dst->unrec = src->unrec;
42 }
43 
44 void
copy_msg_connect(struct uni_connect * src,struct uni_connect * dst)45 copy_msg_connect(struct uni_connect *src, struct uni_connect *dst)
46 {
47 	u_int s, d;
48 
49 	if(IE_ISGOOD(src->aal))
50 		dst->aal = src->aal;
51 	if(IE_ISGOOD(src->blli))
52 		dst->blli = src->blli;
53 	if(IE_ISGOOD(src->connid))
54 		dst->connid = src->connid;
55 	if(IE_ISGOOD(src->epref))
56 		dst->epref = src->epref;
57 	if(IE_ISGOOD(src->notify))
58 		dst->notify = src->notify;
59 	if(IE_ISGOOD(src->conned))
60 		dst->conned = src->conned;
61 	if(IE_ISGOOD(src->connedsub))
62 		dst->connedsub = src->connedsub;
63 	if(IE_ISGOOD(src->eetd))
64 		dst->eetd = src->eetd;
65 	for(s = d = 0; s < UNI_NUM_IE_GIT; s++)
66 		if(IE_ISGOOD(src->git[s]))
67 			dst->git[d++] = src->git[s];
68 	if(IE_ISGOOD(src->uu))
69 		dst->uu = src->uu;
70 	if(IE_ISGOOD(src->traffic))
71 		dst->traffic = src->traffic;
72 	if(IE_ISGOOD(src->exqos))
73 		dst->exqos = src->exqos;
74 	if(IE_ISGOOD(src->facility))
75 		dst->facility = src->facility;
76 	if(IE_ISGOOD(src->abrsetup))
77 		dst->abrsetup = src->abrsetup;
78 	if(IE_ISGOOD(src->abradd))
79 		dst->abradd = src->abradd;
80 	if(IE_ISGOOD(src->called_soft))
81 		dst->called_soft = src->called_soft;
82 	if(IE_ISGOOD(src->report))
83 		dst->report = src->report;
84 	if(IE_ISGOOD(src->unrec))
85 		dst->unrec = src->unrec;
86 }
87 
88 void
copy_msg_connect_ack(struct uni_connect_ack * src,struct uni_connect_ack * dst)89 copy_msg_connect_ack(struct uni_connect_ack *src, struct uni_connect_ack *dst)
90 {
91 	if(IE_ISGOOD(src->notify))
92 		dst->notify = src->notify;
93 	if(IE_ISGOOD(src->unrec))
94 		dst->unrec = src->unrec;
95 }
96 
97 void
copy_msg_release(struct uni_release * src,struct uni_release * dst)98 copy_msg_release(struct uni_release *src, struct uni_release *dst)
99 {
100 	u_int s, d;
101 
102 	for(s = d = 0; s < 2; s++)
103 		if(IE_ISGOOD(src->cause[s]))
104 			dst->cause[d++] = src->cause[s];
105 	if(IE_ISGOOD(src->notify))
106 		dst->notify = src->notify;
107 	for(s = d = 0; s < UNI_NUM_IE_GIT; s++)
108 		if(IE_ISGOOD(src->git[s]))
109 			dst->git[d++] = src->git[s];
110 	if(IE_ISGOOD(src->uu))
111 		dst->uu = src->uu;
112 	if(IE_ISGOOD(src->facility))
113 		dst->facility = src->facility;
114 	if(IE_ISGOOD(src->crankback))
115 		dst->crankback = src->crankback;
116 	if(IE_ISGOOD(src->unrec))
117 		dst->unrec = src->unrec;
118 }
119 
120 void
copy_msg_release_compl(struct uni_release_compl * src,struct uni_release_compl * dst)121 copy_msg_release_compl(struct uni_release_compl *src, struct uni_release_compl *dst)
122 {
123 	u_int s, d;
124 
125 	for(s = d = 0; s < 2; s++)
126 		if(IE_ISGOOD(src->cause[s]))
127 			dst->cause[d++] = src->cause[s];
128 	for(s = d = 0; s < UNI_NUM_IE_GIT; s++)
129 		if(IE_ISGOOD(src->git[s]))
130 			dst->git[d++] = src->git[s];
131 	if(IE_ISGOOD(src->uu))
132 		dst->uu = src->uu;
133 	if(IE_ISGOOD(src->crankback))
134 		dst->crankback = src->crankback;
135 	if(IE_ISGOOD(src->unrec))
136 		dst->unrec = src->unrec;
137 }
138 
139 void
copy_msg_setup(struct uni_setup * src,struct uni_setup * dst)140 copy_msg_setup(struct uni_setup *src, struct uni_setup *dst)
141 {
142 	u_int s, d;
143 
144 	if(IE_ISGOOD(src->aal))
145 		dst->aal = src->aal;
146 	if(IE_ISGOOD(src->traffic))
147 		dst->traffic = src->traffic;
148 	if(IE_ISGOOD(src->bearer))
149 		dst->bearer = src->bearer;
150 	if(IE_ISGOOD(src->bhli))
151 		dst->bhli = src->bhli;
152 	if(IE_ISGOOD(src->blli_repeat))
153 		dst->blli_repeat = src->blli_repeat;
154 	for(s = d = 0; s < UNI_NUM_IE_BLLI; s++)
155 		if(IE_ISGOOD(src->blli[s]))
156 			dst->blli[d++] = src->blli[s];
157 	if(IE_ISGOOD(src->called))
158 		dst->called = src->called;
159 	for(s = d = 0; s < UNI_NUM_IE_CALLEDSUB; s++)
160 		if(IE_ISGOOD(src->calledsub[s]))
161 			dst->calledsub[d++] = src->calledsub[s];
162 	if(IE_ISGOOD(src->calling))
163 		dst->calling = src->calling;
164 	for(s = d = 0; s < UNI_NUM_IE_CALLINGSUB; s++)
165 		if(IE_ISGOOD(src->callingsub[s]))
166 			dst->callingsub[d++] = src->callingsub[s];
167 	if(IE_ISGOOD(src->connid))
168 		dst->connid = src->connid;
169 	if(IE_ISGOOD(src->qos))
170 		dst->qos = src->qos;
171 	if(IE_ISGOOD(src->eetd))
172 		dst->eetd = src->eetd;
173 	if(IE_ISGOOD(src->notify))
174 		dst->notify = src->notify;
175 	if(IE_ISGOOD(src->scompl))
176 		dst->scompl = src->scompl;
177 	for(s = d = 0; s < UNI_NUM_IE_TNS; s++)
178 		if(IE_ISGOOD(src->tns[s]))
179 			dst->tns[d++] = src->tns[s];
180 	if(IE_ISGOOD(src->epref))
181 		dst->epref = src->epref;
182 	if(IE_ISGOOD(src->atraffic))
183 		dst->atraffic = src->atraffic;
184 	if(IE_ISGOOD(src->mintraffic))
185 		dst->mintraffic = src->mintraffic;
186 	if(IE_ISGOOD(src->uu))
187 		dst->uu = src->uu;
188 	for(s = d = 0; s < UNI_NUM_IE_GIT; s++)
189 		if(IE_ISGOOD(src->git[s]))
190 			dst->git[d++] = src->git[s];
191 	if(IE_ISGOOD(src->lij_callid))
192 		dst->lij_callid = src->lij_callid;
193 	if(IE_ISGOOD(src->lij_param))
194 		dst->lij_param = src->lij_param;
195 	if(IE_ISGOOD(src->lij_seqno))
196 		dst->lij_seqno = src->lij_seqno;
197 	if(IE_ISGOOD(src->exqos))
198 		dst->exqos = src->exqos;
199 	if(IE_ISGOOD(src->abrsetup))
200 		dst->abrsetup = src->abrsetup;
201 	if(IE_ISGOOD(src->abradd))
202 		dst->abradd = src->abradd;
203 	if(IE_ISGOOD(src->cscope))
204 		dst->cscope = src->cscope;
205 	if(IE_ISGOOD(src->calling_soft))
206 		dst->calling_soft = src->calling_soft;
207 	if(IE_ISGOOD(src->called_soft))
208 		dst->called_soft = src->called_soft;
209 	if(IE_ISGOOD(src->dtl_repeat))
210 		dst->dtl_repeat = src->dtl_repeat;
211 	for(s = d = 0; s < UNI_NUM_IE_DTL; s++)
212 		if(IE_ISGOOD(src->dtl[s]))
213 			dst->dtl[d++] = src->dtl[s];
214 	if(IE_ISGOOD(src->report))
215 		dst->report = src->report;
216 	if(IE_ISGOOD(src->mdcr))
217 		dst->mdcr = src->mdcr;
218 	if(IE_ISGOOD(src->unrec))
219 		dst->unrec = src->unrec;
220 }
221 
222 void
copy_msg_status(struct uni_status * src,struct uni_status * dst)223 copy_msg_status(struct uni_status *src, struct uni_status *dst)
224 {
225 	if(IE_ISGOOD(src->callstate))
226 		dst->callstate = src->callstate;
227 	if(IE_ISGOOD(src->cause))
228 		dst->cause = src->cause;
229 	if(IE_ISGOOD(src->epref))
230 		dst->epref = src->epref;
231 	if(IE_ISGOOD(src->epstate))
232 		dst->epstate = src->epstate;
233 	if(IE_ISGOOD(src->unrec))
234 		dst->unrec = src->unrec;
235 }
236 
237 void
copy_msg_status_enq(struct uni_status_enq * src,struct uni_status_enq * dst)238 copy_msg_status_enq(struct uni_status_enq *src, struct uni_status_enq *dst)
239 {
240 	if(IE_ISGOOD(src->epref))
241 		dst->epref = src->epref;
242 	if(IE_ISGOOD(src->unrec))
243 		dst->unrec = src->unrec;
244 }
245 
246 void
copy_msg_notify(struct uni_notify * src,struct uni_notify * dst)247 copy_msg_notify(struct uni_notify *src, struct uni_notify *dst)
248 {
249 	if(IE_ISGOOD(src->notify))
250 		dst->notify = src->notify;
251 	if(IE_ISGOOD(src->epref))
252 		dst->epref = src->epref;
253 	if(IE_ISGOOD(src->unrec))
254 		dst->unrec = src->unrec;
255 }
256 
257 void
copy_msg_restart(struct uni_restart * src,struct uni_restart * dst)258 copy_msg_restart(struct uni_restart *src, struct uni_restart *dst)
259 {
260 	if(IE_ISGOOD(src->connid))
261 		dst->connid = src->connid;
262 	if(IE_ISGOOD(src->restart))
263 		dst->restart = src->restart;
264 	if(IE_ISGOOD(src->unrec))
265 		dst->unrec = src->unrec;
266 }
267 
268 void
copy_msg_restart_ack(struct uni_restart_ack * src,struct uni_restart_ack * dst)269 copy_msg_restart_ack(struct uni_restart_ack *src, struct uni_restart_ack *dst)
270 {
271 	if(IE_ISGOOD(src->connid))
272 		dst->connid = src->connid;
273 	if(IE_ISGOOD(src->restart))
274 		dst->restart = src->restart;
275 	if(IE_ISGOOD(src->unrec))
276 		dst->unrec = src->unrec;
277 }
278 
279 void
copy_msg_add_party(struct uni_add_party * src,struct uni_add_party * dst)280 copy_msg_add_party(struct uni_add_party *src, struct uni_add_party *dst)
281 {
282 	u_int s, d;
283 
284 	if(IE_ISGOOD(src->aal))
285 		dst->aal = src->aal;
286 	if(IE_ISGOOD(src->bhli))
287 		dst->bhli = src->bhli;
288 	if(IE_ISGOOD(src->blli))
289 		dst->blli = src->blli;
290 	if(IE_ISGOOD(src->called))
291 		dst->called = src->called;
292 	for(s = d = 0; s < UNI_NUM_IE_CALLEDSUB; s++)
293 		if(IE_ISGOOD(src->calledsub[s]))
294 			dst->calledsub[d++] = src->calledsub[s];
295 	if(IE_ISGOOD(src->calling))
296 		dst->calling = src->calling;
297 	for(s = d = 0; s < UNI_NUM_IE_CALLINGSUB; s++)
298 		if(IE_ISGOOD(src->callingsub[s]))
299 			dst->callingsub[d++] = src->callingsub[s];
300 	if(IE_ISGOOD(src->scompl))
301 		dst->scompl = src->scompl;
302 	for(s = d = 0; s < UNI_NUM_IE_TNS; s++)
303 		if(IE_ISGOOD(src->tns[s]))
304 			dst->tns[d++] = src->tns[s];
305 	if(IE_ISGOOD(src->epref))
306 		dst->epref = src->epref;
307 	if(IE_ISGOOD(src->notify))
308 		dst->notify = src->notify;
309 	if(IE_ISGOOD(src->eetd))
310 		dst->eetd = src->eetd;
311 	if(IE_ISGOOD(src->uu))
312 		dst->uu = src->uu;
313 	for(s = d = 0; s < UNI_NUM_IE_GIT; s++)
314 		if(IE_ISGOOD(src->git[s]))
315 			dst->git[d++] = src->git[s];
316 	if(IE_ISGOOD(src->lij_seqno))
317 		dst->lij_seqno = src->lij_seqno;
318 	if(IE_ISGOOD(src->calling_soft))
319 		dst->calling_soft = src->calling_soft;
320 	if(IE_ISGOOD(src->called_soft))
321 		dst->called_soft = src->called_soft;
322 	if(IE_ISGOOD(src->dtl_repeat))
323 		dst->dtl_repeat = src->dtl_repeat;
324 	for(s = d = 0; s < UNI_NUM_IE_DTL; s++)
325 		if(IE_ISGOOD(src->dtl[s]))
326 			dst->dtl[d++] = src->dtl[s];
327 	if(IE_ISGOOD(src->unrec))
328 		dst->unrec = src->unrec;
329 }
330 
331 void
copy_msg_add_party_ack(struct uni_add_party_ack * src,struct uni_add_party_ack * dst)332 copy_msg_add_party_ack(struct uni_add_party_ack *src, struct uni_add_party_ack *dst)
333 {
334 	u_int s, d;
335 
336 	if(IE_ISGOOD(src->epref))
337 		dst->epref = src->epref;
338 	if(IE_ISGOOD(src->aal))
339 		dst->aal = src->aal;
340 	if(IE_ISGOOD(src->blli))
341 		dst->blli = src->blli;
342 	if(IE_ISGOOD(src->notify))
343 		dst->notify = src->notify;
344 	if(IE_ISGOOD(src->eetd))
345 		dst->eetd = src->eetd;
346 	if(IE_ISGOOD(src->conned))
347 		dst->conned = src->conned;
348 	if(IE_ISGOOD(src->connedsub))
349 		dst->connedsub = src->connedsub;
350 	if(IE_ISGOOD(src->uu))
351 		dst->uu = src->uu;
352 	for(s = d = 0; s < UNI_NUM_IE_GIT; s++)
353 		if(IE_ISGOOD(src->git[s]))
354 			dst->git[d++] = src->git[s];
355 	if(IE_ISGOOD(src->called_soft))
356 		dst->called_soft = src->called_soft;
357 	if(IE_ISGOOD(src->unrec))
358 		dst->unrec = src->unrec;
359 }
360 
361 void
copy_msg_party_alerting(struct uni_party_alerting * src,struct uni_party_alerting * dst)362 copy_msg_party_alerting(struct uni_party_alerting *src, struct uni_party_alerting *dst)
363 {
364 	u_int s, d;
365 
366 	if(IE_ISGOOD(src->epref))
367 		dst->epref = src->epref;
368 	if(IE_ISGOOD(src->notify))
369 		dst->notify = src->notify;
370 	if(IE_ISGOOD(src->uu))
371 		dst->uu = src->uu;
372 	for(s = d = 0; s < UNI_NUM_IE_GIT; s++)
373 		if(IE_ISGOOD(src->git[s]))
374 			dst->git[d++] = src->git[s];
375 	if(IE_ISGOOD(src->unrec))
376 		dst->unrec = src->unrec;
377 }
378 
379 void
copy_msg_add_party_rej(struct uni_add_party_rej * src,struct uni_add_party_rej * dst)380 copy_msg_add_party_rej(struct uni_add_party_rej *src, struct uni_add_party_rej *dst)
381 {
382 	u_int s, d;
383 
384 	if(IE_ISGOOD(src->cause))
385 		dst->cause = src->cause;
386 	if(IE_ISGOOD(src->epref))
387 		dst->epref = src->epref;
388 	if(IE_ISGOOD(src->uu))
389 		dst->uu = src->uu;
390 	for(s = d = 0; s < UNI_NUM_IE_GIT; s++)
391 		if(IE_ISGOOD(src->git[s]))
392 			dst->git[d++] = src->git[s];
393 	if(IE_ISGOOD(src->crankback))
394 		dst->crankback = src->crankback;
395 	if(IE_ISGOOD(src->unrec))
396 		dst->unrec = src->unrec;
397 }
398 
399 void
copy_msg_drop_party(struct uni_drop_party * src,struct uni_drop_party * dst)400 copy_msg_drop_party(struct uni_drop_party *src, struct uni_drop_party *dst)
401 {
402 	u_int s, d;
403 
404 	if(IE_ISGOOD(src->cause))
405 		dst->cause = src->cause;
406 	if(IE_ISGOOD(src->epref))
407 		dst->epref = src->epref;
408 	if(IE_ISGOOD(src->notify))
409 		dst->notify = src->notify;
410 	if(IE_ISGOOD(src->uu))
411 		dst->uu = src->uu;
412 	for(s = d = 0; s < UNI_NUM_IE_GIT; s++)
413 		if(IE_ISGOOD(src->git[s]))
414 			dst->git[d++] = src->git[s];
415 	if(IE_ISGOOD(src->unrec))
416 		dst->unrec = src->unrec;
417 }
418 
419 void
copy_msg_drop_party_ack(struct uni_drop_party_ack * src,struct uni_drop_party_ack * dst)420 copy_msg_drop_party_ack(struct uni_drop_party_ack *src, struct uni_drop_party_ack *dst)
421 {
422 	u_int s, d;
423 
424 	if(IE_ISGOOD(src->epref))
425 		dst->epref = src->epref;
426 	if(IE_ISGOOD(src->cause))
427 		dst->cause = src->cause;
428 	if(IE_ISGOOD(src->uu))
429 		dst->uu = src->uu;
430 	for(s = d = 0; s < UNI_NUM_IE_GIT; s++)
431 		if(IE_ISGOOD(src->git[s]))
432 			dst->git[d++] = src->git[s];
433 	if(IE_ISGOOD(src->unrec))
434 		dst->unrec = src->unrec;
435 }
436 
437 void
copy_msg_leaf_setup_req(struct uni_leaf_setup_req * src,struct uni_leaf_setup_req * dst)438 copy_msg_leaf_setup_req(struct uni_leaf_setup_req *src, struct uni_leaf_setup_req *dst)
439 {
440 	u_int s, d;
441 
442 	for(s = d = 0; s < UNI_NUM_IE_TNS; s++)
443 		if(IE_ISGOOD(src->tns[s]))
444 			dst->tns[d++] = src->tns[s];
445 	if(IE_ISGOOD(src->calling))
446 		dst->calling = src->calling;
447 	for(s = d = 0; s < UNI_NUM_IE_CALLINGSUB; s++)
448 		if(IE_ISGOOD(src->callingsub[s]))
449 			dst->callingsub[d++] = src->callingsub[s];
450 	if(IE_ISGOOD(src->called))
451 		dst->called = src->called;
452 	for(s = d = 0; s < UNI_NUM_IE_CALLEDSUB; s++)
453 		if(IE_ISGOOD(src->calledsub[s]))
454 			dst->calledsub[d++] = src->calledsub[s];
455 	if(IE_ISGOOD(src->lij_callid))
456 		dst->lij_callid = src->lij_callid;
457 	if(IE_ISGOOD(src->lij_seqno))
458 		dst->lij_seqno = src->lij_seqno;
459 	if(IE_ISGOOD(src->unrec))
460 		dst->unrec = src->unrec;
461 }
462 
463 void
copy_msg_leaf_setup_fail(struct uni_leaf_setup_fail * src,struct uni_leaf_setup_fail * dst)464 copy_msg_leaf_setup_fail(struct uni_leaf_setup_fail *src, struct uni_leaf_setup_fail *dst)
465 {
466 	u_int s, d;
467 
468 	if(IE_ISGOOD(src->cause))
469 		dst->cause = src->cause;
470 	if(IE_ISGOOD(src->called))
471 		dst->called = src->called;
472 	if(IE_ISGOOD(src->calledsub))
473 		dst->calledsub = src->calledsub;
474 	if(IE_ISGOOD(src->lij_seqno))
475 		dst->lij_seqno = src->lij_seqno;
476 	for(s = d = 0; s < UNI_NUM_IE_TNS; s++)
477 		if(IE_ISGOOD(src->tns[s]))
478 			dst->tns[d++] = src->tns[s];
479 	if(IE_ISGOOD(src->unrec))
480 		dst->unrec = src->unrec;
481 }
482 
483 void
copy_msg_cobisetup(struct uni_cobisetup * src,struct uni_cobisetup * dst)484 copy_msg_cobisetup(struct uni_cobisetup *src, struct uni_cobisetup *dst)
485 {
486 	if(IE_ISGOOD(src->facility))
487 		dst->facility = src->facility;
488 	if(IE_ISGOOD(src->called))
489 		dst->called = src->called;
490 	if(IE_ISGOOD(src->calledsub))
491 		dst->calledsub = src->calledsub;
492 	if(IE_ISGOOD(src->calling))
493 		dst->calling = src->calling;
494 	if(IE_ISGOOD(src->notify))
495 		dst->notify = src->notify;
496 	if(IE_ISGOOD(src->unrec))
497 		dst->unrec = src->unrec;
498 }
499 
500 void
copy_msg_facility(struct uni_facility * src,struct uni_facility * dst)501 copy_msg_facility(struct uni_facility *src, struct uni_facility *dst)
502 {
503 	if(IE_ISGOOD(src->facility))
504 		dst->facility = src->facility;
505 	if(IE_ISGOOD(src->called))
506 		dst->called = src->called;
507 	if(IE_ISGOOD(src->calledsub))
508 		dst->calledsub = src->calledsub;
509 	if(IE_ISGOOD(src->calling))
510 		dst->calling = src->calling;
511 	if(IE_ISGOOD(src->notify))
512 		dst->notify = src->notify;
513 	if(IE_ISGOOD(src->unrec))
514 		dst->unrec = src->unrec;
515 }
516 
517 void
copy_msg_modify_req(struct uni_modify_req * src,struct uni_modify_req * dst)518 copy_msg_modify_req(struct uni_modify_req *src, struct uni_modify_req *dst)
519 {
520 	u_int s, d;
521 
522 	if(IE_ISGOOD(src->traffic))
523 		dst->traffic = src->traffic;
524 	if(IE_ISGOOD(src->atraffic))
525 		dst->atraffic = src->atraffic;
526 	if(IE_ISGOOD(src->mintraffic))
527 		dst->mintraffic = src->mintraffic;
528 	if(IE_ISGOOD(src->notify))
529 		dst->notify = src->notify;
530 	for(s = d = 0; s < UNI_NUM_IE_GIT; s++)
531 		if(IE_ISGOOD(src->git[s]))
532 			dst->git[d++] = src->git[s];
533 	if(IE_ISGOOD(src->unrec))
534 		dst->unrec = src->unrec;
535 }
536 
537 void
copy_msg_modify_ack(struct uni_modify_ack * src,struct uni_modify_ack * dst)538 copy_msg_modify_ack(struct uni_modify_ack *src, struct uni_modify_ack *dst)
539 {
540 	u_int s, d;
541 
542 	if(IE_ISGOOD(src->report))
543 		dst->report = src->report;
544 	if(IE_ISGOOD(src->traffic))
545 		dst->traffic = src->traffic;
546 	if(IE_ISGOOD(src->notify))
547 		dst->notify = src->notify;
548 	for(s = d = 0; s < UNI_NUM_IE_GIT; s++)
549 		if(IE_ISGOOD(src->git[s]))
550 			dst->git[d++] = src->git[s];
551 	if(IE_ISGOOD(src->unrec))
552 		dst->unrec = src->unrec;
553 }
554 
555 void
copy_msg_modify_rej(struct uni_modify_rej * src,struct uni_modify_rej * dst)556 copy_msg_modify_rej(struct uni_modify_rej *src, struct uni_modify_rej *dst)
557 {
558 	u_int s, d;
559 
560 	if(IE_ISGOOD(src->cause))
561 		dst->cause = src->cause;
562 	if(IE_ISGOOD(src->notify))
563 		dst->notify = src->notify;
564 	for(s = d = 0; s < UNI_NUM_IE_GIT; s++)
565 		if(IE_ISGOOD(src->git[s]))
566 			dst->git[d++] = src->git[s];
567 	if(IE_ISGOOD(src->unrec))
568 		dst->unrec = src->unrec;
569 }
570 
571 void
copy_msg_conn_avail(struct uni_conn_avail * src,struct uni_conn_avail * dst)572 copy_msg_conn_avail(struct uni_conn_avail *src, struct uni_conn_avail *dst)
573 {
574 	u_int s, d;
575 
576 	if(IE_ISGOOD(src->notify))
577 		dst->notify = src->notify;
578 	for(s = d = 0; s < UNI_NUM_IE_GIT; s++)
579 		if(IE_ISGOOD(src->git[s]))
580 			dst->git[d++] = src->git[s];
581 	if(IE_ISGOOD(src->report))
582 		dst->report = src->report;
583 	if(IE_ISGOOD(src->unrec))
584 		dst->unrec = src->unrec;
585 }
586 
587 void
copy_msg_unknown(struct uni_unknown * src,struct uni_unknown * dst)588 copy_msg_unknown(struct uni_unknown *src, struct uni_unknown *dst)
589 {
590 	if(IE_ISGOOD(src->epref))
591 		dst->epref = src->epref;
592 	if(IE_ISGOOD(src->unrec))
593 		dst->unrec = src->unrec;
594 }
595