Back to home page

OSCL-LXR

 
 

    


0001 /* SPDX-License-Identifier: GPL-2.0-or-later */
0002 /*
0003  *   Copyright (C) 2018 Samsung Electronics Co., Ltd.
0004  */
0005 
0006 #ifndef __KSMBD_TRANSPORT_IPC_H__
0007 #define __KSMBD_TRANSPORT_IPC_H__
0008 
0009 #include <linux/wait.h>
0010 
0011 #define KSMBD_IPC_MAX_PAYLOAD   4096
0012 
0013 struct ksmbd_login_response *
0014 ksmbd_ipc_login_request(const char *account);
0015 
0016 struct ksmbd_session;
0017 struct ksmbd_share_config;
0018 struct ksmbd_tree_connect;
0019 struct sockaddr;
0020 
0021 struct ksmbd_tree_connect_response *
0022 ksmbd_ipc_tree_connect_request(struct ksmbd_session *sess,
0023                    struct ksmbd_share_config *share,
0024                    struct ksmbd_tree_connect *tree_conn,
0025                    struct sockaddr *peer_addr);
0026 int ksmbd_ipc_tree_disconnect_request(unsigned long long session_id,
0027                       unsigned long long connect_id);
0028 int ksmbd_ipc_logout_request(const char *account, int flags);
0029 struct ksmbd_share_config_response *
0030 ksmbd_ipc_share_config_request(const char *name);
0031 struct ksmbd_spnego_authen_response *
0032 ksmbd_ipc_spnego_authen_request(const char *spnego_blob, int blob_len);
0033 int ksmbd_ipc_id_alloc(void);
0034 void ksmbd_rpc_id_free(int handle);
0035 struct ksmbd_rpc_command *ksmbd_rpc_open(struct ksmbd_session *sess, int handle);
0036 struct ksmbd_rpc_command *ksmbd_rpc_close(struct ksmbd_session *sess, int handle);
0037 struct ksmbd_rpc_command *ksmbd_rpc_write(struct ksmbd_session *sess, int handle,
0038                       void *payload, size_t payload_sz);
0039 struct ksmbd_rpc_command *ksmbd_rpc_read(struct ksmbd_session *sess, int handle);
0040 struct ksmbd_rpc_command *ksmbd_rpc_ioctl(struct ksmbd_session *sess, int handle,
0041                       void *payload, size_t payload_sz);
0042 struct ksmbd_rpc_command *ksmbd_rpc_rap(struct ksmbd_session *sess, void *payload,
0043                     size_t payload_sz);
0044 void ksmbd_ipc_release(void);
0045 void ksmbd_ipc_soft_reset(void);
0046 int ksmbd_ipc_init(void);
0047 #endif /* __KSMBD_TRANSPORT_IPC_H__ */