Annotation of 43BSDReno/contrib/isode-beta/doc/manual/grind2b-3c.c, revision 1.1.1.1

1.1       root        1: ...
                      2: 
                      3: static int  ros_invoke (sd, rox)
                      4: int     sd;
                      5: register struct RoSAPinvoke *rox;
                      6: {
                      7:     int     result;
                      8:     register struct dispatch   *ds;
                      9:     struct RoSAPindication  rois;
                     10:     register struct RoSAPindication *roi = &rois;
                     11:     register struct RoSAPpreject   *rop = &roi -> roi_preject;
                     12: 
                     13:     for (ds = dispatches; ds -> ds_operation != APDU_UNKNOWN; ds++)
                     14:        if (ds -> ds_operation == rox -> rox_op)
                     15:            break;
                     16: 
                     17:     if (ds -> ds_operation == APDU_UNKNOWN) {
                     18:        if (RoURejectRequest (sd, &rox -> rox_id, ROS_IP_UNRECOG,
                     19:                    ROS_NOPRIO, roi) == NOTOK)
                     20:            error ("RO-U-REJECT.REQUEST: %s", RoErrString (rop -> rop_reason));
                     21:        goto out;
                     22:     }
                     23: 
                     24:     if (rox -> rox_nolinked == 0) {
                     25:        if (RoURejectRequest (sd, &rox -> rox_id, ROS_IP_LINKED,
                     26:                    ROS_NOPRIO, roi) == NOTOK)
                     27:            error ("RO-U-REJECT.REQUEST: %s", RoErrString (rop -> rop_reason));
                     28:        goto out;
                     29:     }
                     30: 
                     31:     switch (result = (*ds -> ds_vector) (rox)) {
                     32:        case ERROR_UNKNOWN: 
                     33:            if (RoResultRequest (sd, rox -> rox_id, rox -> rox_op,
                     34:                        rox -> rox_args, ROS_NOPRIO, roi) == NOTOK)
                     35:                error ("RO-RESULT.REQUEST: %s",
                     36:                        RoErrString (rop -> rop_reason));
                     37:            break;
                     38: 
                     39:        default: 
                     40:            if (RoErrorRequest (sd, rox -> rox_id, result, rox -> rox_args,
                     41:                        ROS_NOPRIO, roi) == NOTOK)
                     42:                error ("RO-ERROR.REQUEST: %s",
                     43:                        RoErrString (rop -> rop_reason));
                     44:            break;
                     45: 
                     46:        case ERROR_MISTYPED: 
                     47:            if (RoURejectRequest (sd, &rox -> rox_id, ROS_IP_MISTYPED,
                     48:                        ROS_NOPRIO, roi) == NOTOK)
                     49:                error ("RO-U-REJECT.REQUEST: %s",
                     50:                        RoErrString (rop -> rop_reason));
                     51:            break;
                     52:     }
                     53: 
                     54: out: ;
                     55:     ROXFREE (rox);
                     56: }
                     57: 
                     58: ...

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.