|
|
1.1 ! root 1: ... ! 2: ! 3: int result, ! 4: response; ! 5: struct type_MODULE_argument *arg; ! 6: caddr_t out; ! 7: struct RoSAPindication rois; ! 8: register struct RoSAPindication *roi = &rois; ! 9: register struct RoSAPpreject *rop = &roi -> roi_preject; ! 10: ! 11: /* allocate and initialize ``arg'' here... */ ! 12: ! 13: switch (result = op_MODULE_operation (sd, arg, &out, &response, roi)) { ! 14: case NOTOK: /* failure */ ! 15: if (ROS_FATAL (rop -> rop_reason)) ! 16: ros_adios (rop, "OPERATION"); ! 17: ros_advise (rop, "OPERATION"); ! 18: break; ! 19: ! 20: case OK: /* got a result/error response */ ! 21: switch (response) { ! 22: case RY_RESULT: /* got a result */ ! 23: { ! 24: register struct type_MODULE_result *res = ! 25: (struct type_MODULE_result *) out; ! 26: ! 27: /* do something with ``res'' here... */ ! 28: ! 29: free_MODULE_result (res); ! 30: break; ! 31: } ! 32: ! 33: case error_MODULE_error1: ! 34: { ! 35: register struct type_MODULE_parameter *parm = ! 36: (struct type_MODULE_parameter *) out; ! 37: ! 38: /* do something with ``parm'' here... */ ! 39: ! 40: free_MODULE_parameter (parm); ! 41: break; ! 42: } ! 43: ! 44: /* other errors are handled here... */ ! 45: ! 46: default: ! 47: adios (NULLCP, "unknown result/error returned (%d)", ! 48: response); ! 49: /* NOTREACHED */ ! 50: } ! 51: break; ! 52: ! 53: case DONE: /* got RO-END? */ ! 54: adios (NULLCP, "got RO-END.INDICATION"); ! 55: /* NOTREACHED */ ! 56: ! 57: default: ! 58: adios (NULLCP, "unknown return from RyOperation=%d", result); ! 59: /* NOTREACHED */ ! 60: } ! 61: ! 62: free_MODULE_argument (arg); ! 63: ! 64: ...
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.