4 * Definitions for communication between samba-dcerpcd and rpc helper
9 import
"named_pipe_auth.idl";
13 pointer_default(unique)
16 interface rpc_host_msg
19 * @brief MSG_RPC_HOST_NEW_CLIENT: samba-dcerpcd->rpcd
21 * samba-dcerpcd to rpcd msg announcing a new client. This
22 * will carry a file descriptor representing the new
25 typedef [public] struct {
27 * @brief The binding the client wants to connect to
29 [string,charset
(UTF8
)] char *binding
;
32 * @brief Auth info inherited from SMB
34 named_pipe_auth_req_info8
*npa_info8
;
39 * Already read from the socket by samba-dcerpcd
41 DATA_BLOB bind_packet
;
45 * @brief MSG_RPC_WORKER_STATUS: rpcd->samba-dcerpcd
47 * Once a client has been handed over from samba-dcerpcd to an
48 * rpcd, samba-dcerpc has no control over this socket
49 * anymore. So it can't know when the client exits and the
50 * rpcd helper process has a slot free. Thus whenever a client
51 * exits, rpcd sends this message up to samba-dcerpc for a
54 typedef [flag
(NDR_NOALIGN
),public] struct {
56 * @brief Which rpc service is this message from
58 * samba-dcerpcd will only have the source pid of this
59 * message. To avoid a walk through all arrays with
60 * all rpcd helpers, give samba-dcerpcd a hint where
61 * in its arrays to find the rpcd that sent this
67 * @brief Which of the processes of a helper prog is this from
69 * @note while this is uint32, we currently only support 16-bit
70 * values, as we use it in the high 16-bits of the 32-bit
71 * association group id.
77 * @brief How many association groups this process serves right now
79 * @note while this is uint32, we currently only support 16-bit
80 * values, as we use the worker_index in the high 16-bits of
81 * so we only have 16-bit per worker in order to form the 32-bit
82 * association group id.
84 uint32 num_association_groups
;
87 * @brief How many client connections this process serves right now
89 * @note might be greater or equal to num_association_groups.
91 uint32 num_connections
;