MCPcopy Create free account
hub / github.com/FirebirdSQL/firebird / svcstart

Function svcstart

src/remote/client/interface.cpp:9923–9966  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

9921
9922
9923static 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
9969static void unsupported()

Callers 1

startMethod · 0.85

Calls 6

IntlSpbStartClass · 0.85
send_packetFunction · 0.85
receive_responseFunction · 0.85
fromUtf8Method · 0.80
getBufferLengthMethod · 0.45
getBufferMethod · 0.45

Tested by

no test coverage detected