Lines Matching refs:uni

38 #include <netnatm/sig/uni.h>
44 uni_mandate_ie(struct uni *uni, enum uni_ietype ie)
48 FOREACH_ERR(e, uni)
53 if (UNI_SAVE_IERR(&uni->cx, ie, UNI_IEACT_DEFAULT, UNI_IERR_MIS))
54 uni->cx.err[uni->cx.errcnt - 1].man = 1;
64 uni_mandate_epref(struct uni *uni, struct uni_ie_epref *epref)
88 FOREACH_ERR(e, uni) {
104 FOREACH_ERR(e, uni)
107 (uni->cx.errcnt - (e - uni->cx.err)
108 - 1) * sizeof(uni->cx.err[0]));
109 uni->cx.errcnt--;
119 uni_mandate_ie(uni, UNI_IE_EPREF);
145 uni_verify(struct uni *uni, enum uni_msgact msgact)
149 if (uni->debug[UNI_FAC_VERIFY] >= 2) {
150 FOREACH_ERR(e1, uni) {
151 VERBOSE(uni, UNI_FAC_VERIFY, 2, "ie=%02x err=%u man=%d"
164 FOREACH_ERR(e1, uni) {
166 MK_IE_CAUSE(uni->cause, UNI_CAUSE_LOC_USER,
168 VERBOSE(uni, UNI_FAC_VERIFY, 1, "RAIM");
182 FOREACH_ERR(e1, uni) {
184 MK_IE_CAUSE(uni->cause, UNI_CAUSE_LOC_USER,
186 VERBOSE(uni, UNI_FAC_VERIFY, 1, "CLR1");
191 FOREACH_ERR(e1, uni) {
195 MK_IE_CAUSE(uni->cause, UNI_CAUSE_LOC_USER,
197 VERBOSE(uni, UNI_FAC_VERIFY, 1, "CLR2");
208 FOREACH_ERR(e1, uni) {
210 MK_IE_CAUSE(uni->cause, UNI_CAUSE_LOC_USER,
212 VERBOSE(uni, UNI_FAC_VERIFY, 1, "RAI");
217 FOREACH_ERR(e1, uni) {
221 MK_IE_CAUSE(uni->cause, UNI_CAUSE_LOC_USER,
223 VERBOSE(uni, UNI_FAC_VERIFY, 1, "RAI");
232 FOREACH_ERR(e1, uni) {
234 VERBOSE(uni, UNI_FAC_VERIFY, 1, "I1");
247 FOREACH_ERR(e1, uni) {
249 MK_IE_CAUSE(uni->cause, UNI_CAUSE_LOC_USER,
251 VERBOSE(uni, UNI_FAC_VERIFY, 1, "RAI");
263 FOREACH_ERR(e1, uni) {
267 MK_IE_CAUSE(uni->cause, UNI_CAUSE_LOC_USER,
269 VERBOSE(uni, UNI_FAC_VERIFY, 1, "RAP");
274 FOREACH_ERR(e1, uni) {
278 MK_IE_CAUSE(uni->cause, UNI_CAUSE_LOC_USER,
280 VERBOSE(uni, UNI_FAC_VERIFY, 1, "RAPU");
292 FOREACH_ERR(e1, uni) {
294 MK_IE_CAUSE(uni->cause, UNI_CAUSE_LOC_USER,
297 VERBOSE(uni, UNI_FAC_VERIFY, 1, "CLR3");
301 VERBOSE(uni, UNI_FAC_VERIFY, 1, "I2");
304 VERBOSE(uni, UNI_FAC_VERIFY, 1, "RAI");
313 if (uni->cx.errcnt != 0)
314 MK_IE_CAUSE(uni->cause, UNI_CAUSE_LOC_USER,
317 VERBOSE(uni, UNI_FAC_VERIFY, 1, "OK");
325 uni_vfy_collect_ies(struct uni *uni)
330 uni->cause.u.ie.ie[uni->cause.u.ie.len++] = (IE); \
331 if (uni->cause.u.ie.len == UNI_CAUSE_IE_N) \
334 uni->cause.u.ie.len = 0;
335 if (uni->cause.cause == UNI_CAUSE_MANDAT) {
336 FOREACH_ERR(e, uni) {
342 } else if (uni->cause.cause == UNI_CAUSE_IE_NIMPL) {
343 FOREACH_ERR(e, uni) {
349 } else if (uni->cause.cause == UNI_CAUSE_IE_INV) {
350 FOREACH_ERR(e, uni) {
360 if (uni->cause.u.ie.len != 0)
361 uni->cause.h.present |= UNI_CAUSE_IE_P;
366 uni_respond_status_verify(struct uni *uni, struct uni_cref *cref,
375 uni_vfy_collect_ies(uni);
379 resp->u.status.cause = uni->cause;
385 uni_send_output(resp, uni);
394 uni_vfy_remove_unknown(struct uni *uni)
399 FOREACH_ERR(e1, uni) {
412 e0 = e1 = uni->cx.err;
413 while (e1 < uni->cx.err + uni->cx.errcnt) {
421 uni->cx.errcnt = e0 - uni->cx.err;
428 uni_vfy_remove_cause(struct uni *uni)
432 e0 = e1 = uni->cx.err;
433 while (e1 < uni->cx.err + uni->cx.errcnt) {
441 uni->cx.errcnt = e0 - uni->cx.err;