|
|
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.