| 9921 | |
| 9922 | |
| 9923 | static void svcstart(CheckStatusWrapper* status, |
| 9924 | Rdb* rdb, |
| 9925 | P_OP operation, |
| 9926 | USHORT object, |
| 9927 | USHORT incarnation, |
| 9928 | USHORT item_length, |
| 9929 | const UCHAR* items) |
| 9930 | { |
| 9931 | /************************************** |
| 9932 | * |
| 9933 | * s v c s t a r t |
| 9934 | * |
| 9935 | ************************************** |
| 9936 | * |
| 9937 | * Functional description |
| 9938 | * Instruct the server to start a service |
| 9939 | * |
| 9940 | **************************************/ |
| 9941 | |
| 9942 | ClumpletWriter send(ClumpletReader::SpbStart, MAX_DPB_SIZE, items, item_length); |
| 9943 | if (rdb->rdb_port->port_protocol < PROTOCOL_VERSION13) |
| 9944 | { |
| 9945 | // This is FB < 3.0. Lets convert the UTF8 strings to the OS codepage. |
| 9946 | IntlSpbStart().fromUtf8(send); |
| 9947 | } |
| 9948 | |
| 9949 | // Build the primary packet to get the operation started. |
| 9950 | PACKET* packet = &rdb->rdb_packet; |
| 9951 | packet->p_operation = operation; |
| 9952 | P_INFO* information = &packet->p_info; |
| 9953 | information->p_info_object = object; |
| 9954 | information->p_info_incarnation = incarnation; |
| 9955 | information->p_info_items.cstr_length = (ULONG) send.getBufferLength(); |
| 9956 | information->p_info_items.cstr_address = send.getBuffer(); |
| 9957 | information->p_info_buffer_length = (ULONG) send.getBufferLength(); |
| 9958 | |
| 9959 | send_packet(rdb->rdb_port, packet); |
| 9960 | |
| 9961 | // Set up for the response packet. |
| 9962 | P_RESP* response = &packet->p_resp; |
| 9963 | UseStandardBuffer temp(response->p_resp_data); |
| 9964 | |
| 9965 | receive_response(status, rdb, packet); |
| 9966 | } |
| 9967 | |
| 9968 | |
| 9969 | static void unsupported() |
no test coverage detected