Lines Matching defs:Pipe
582 /* Descriptor for a data buffer pending to be sent to a qemud pipe client.
598 * to the pipe yet. */
606 * Each client has its own channel id (for the serial qemud), or pipe descriptor
607 * (for the pipe based qemud), and belongs to a given QemudService (see below).
610 * messages from the channel id (see qemud_multiplexer_serial_recv()). Pipe
616 /* Defines type of the client: pipe, or serial.
619 /* Client is communicating via pipe. */
625 /* Descriptor for a QEMUD pipe connection.
627 * Every time a client connects to the QEMUD via pipe, an instance of this
628 * structure is created to represent a connection used by new pipe client.
631 /* Pipe descriptor. */
635 /* Service for this pipe. */
637 /* Client for this pipe. */
672 /* Pipe-specific fields. */
676 } Pipe;
796 /* Sends data to a pipe-based client.
809 QemudPipeMessage** msg_list = &c->ProtocolSelector.Pipe.messages;
848 c->ProtocolSelector.Pipe.qemud_pipe->client = NULL;
873 * NOTE: channel_id valie is used as a selector between serial and pipe clients.
875 * indicate that creating client is a pipe client. */
892 /* Allocating a pipe client. */
894 c->ProtocolSelector.Pipe.messages = NULL;
895 c->ProtocolSelector.Pipe.qemud_pipe = NULL;
1603 QemudPipeMessage** ins_at = &client->ProtocolSelector.Pipe.messages;
1618 /* Notify the pipe that there is data to read. */
1619 goldfish_pipe_wake(client->ProtocolSelector.Pipe.qemud_pipe->hwpipe,
1838 * QEMUD PIPE service callbacks
1844 * Here we will create a new client as well as pipe descriptor representing new
1853 QemudPipe* pipe = NULL;
1892 * is a pipe client. */
1895 ANEW0(pipe);
1896 pipe->hwpipe = hwpipe;
1897 pipe->looper = _looper;
1898 pipe->service = sv;
1899 pipe->client = client;
1900 client->ProtocolSelector.Pipe.qemud_pipe = pipe;
1903 return pipe;
1911 QemudPipe* pipe = opaque;
1912 QemudClient* client = pipe->client;
1928 QemudPipe* pipe = opaque;
1929 QemudClient* client = pipe->client;
1969 QemudPipe* pipe = opaque;
1970 QemudClient* client = pipe->client;
1982 msg_list = &client->ProtocolSelector.Pipe.messages;
1993 /* Message data fiting the current pipe's buffer. */
2006 /* Current pipe buffer is full. Continue with the next one. */
2020 QemudPipe* pipe = opaque;
2021 QemudClient* client = pipe->client;
2026 if (client->ProtocolSelector.Pipe.messages != NULL) {
2042 /* QEMUD pipe functions.
2053 /* Initializes QEMUD pipe interface.
2100 * port), and the new one (over qemu pipe). Then we let the guest to connect
2214 /* At this point modem driver still uses char pipe to communicate with
2215 * hw-qemud, while communication with the guest is done over qemu pipe.
2216 * So, when guest disconnects from the qemu pipe, and emulator-side client
2219 * is changed to drop char pipe communication, this routine will be called
2220 * due to guest disconnection. As long as the client was a qemu pipe - based