diff options
Diffstat (limited to 'cras/src/server/cras_rclient.h')
-rw-r--r-- | cras/src/server/cras_rclient.h | 98 |
1 files changed, 0 insertions, 98 deletions
diff --git a/cras/src/server/cras_rclient.h b/cras/src/server/cras_rclient.h deleted file mode 100644 index 3a3988c2..00000000 --- a/cras/src/server/cras_rclient.h +++ /dev/null @@ -1,98 +0,0 @@ -/* Copyright (c) 2012 The Chromium OS Authors. All rights reserved. - * Use of this source code is governed by a BSD-style license that can be - * found in the LICENSE file. - */ - -/* - * A remote client to the server. - */ -#ifndef CRAS_RCLIENT_H_ -#define CRAS_RCLIENT_H_ - -#include "cras_types.h" - -struct cras_client_message; -struct cras_message; -struct cras_server_message; - -/* An attached client. - * id - The id of the client. - * fd - Connection for client communication. - * ops - cras_rclient_ops for the cras_rclient. - * supported_directions - Bit mask for supported stream directions. - * client_type - Client type of this rclient. If this is set to value other - * than CRAS_CLIENT_TYPE_UNKNOWN, rclient will overwrite incoming - * messages' client type. - */ -struct cras_rclient { - struct cras_observer_client *observer; - size_t id; - int fd; - const struct cras_rclient_ops *ops; - int supported_directions; - enum CRAS_CLIENT_TYPE client_type; -}; - -/* Operations for cras_rclient. - * handle_message_from_client - Entry point for handling a message from the - * corresponded client. - * send_message_to_client - Method for sending message to the corresponded - * client. - * destroy - Method to destroy and free the cras_rclient. - */ -struct cras_rclient_ops { - int (*handle_message_from_client)(struct cras_rclient *, - const struct cras_server_message *, - int *fds, unsigned int num_fds); - int (*send_message_to_client)(const struct cras_rclient *, - const struct cras_client_message *, - int *fds, unsigned int num_fds); - void (*destroy)(struct cras_rclient *); -}; - -/* Creates an rclient structure. - * Args: - * fd - The file descriptor used for communication with the client. - * id - Unique identifier for this client. - * conn_type - Client connection type. - * Returns: - * A pointer to the newly created rclient on success, NULL on failure. - */ -struct cras_rclient *cras_rclient_create(int fd, size_t id, - enum CRAS_CONNECTION_TYPE conn_type); - -/* Destroys an rclient created with "cras_rclient_create". - * Args: - * client - The client to destroy. - */ -void cras_rclient_destroy(struct cras_rclient *client); - -/* Handles a received buffer from the client. - * Args: - * client - The client that received this message. - * buf - The raw byte buffer the client sent. It should contain a valid - * cras_server_message. - * buf_len - The length of |buf|. - * fds - Array of valid file descriptors sent by the remote client. - * num_fds - Length of |fds|. - * Returns: - * 0 on success, otherwise a negative error code. - */ -int cras_rclient_buffer_from_client(struct cras_rclient *client, - const uint8_t *buf, size_t buf_len, - int *fds, int num_fds); - -/* Sends a message to the client. - * Args: - * client - The client to send the message to. - * msg - The message to send. - * fds - Array of file descriptors or null - * num_fds - Number of entries in the fds array. - * Returns: - * number of bytes written on success, otherwise a negative error code. - */ -int cras_rclient_send_message(const struct cras_rclient *client, - const struct cras_client_message *msg, int *fds, - unsigned int num_fds); - -#endif /* CRAS_RCLIENT_H_ */ |