1#ifndef VSF_ONEPROCESS_H 2#define VSF_ONEPROCESS_H 3 4struct mystr; 5struct vsf_session; 6 7/* vsf_one_process_start() 8 * PURPOSE 9 * Called to start FTP login processing using the one process model. Before 10 * processing starts, all possible privileges are dropped. 11 * PARAMETERS 12 * p_sess - the current session object 13 */ 14void vsf_one_process_start(struct vsf_session* p_sess); 15 16/* vsf_one_process_login() 17 * PURPOSE 18 * Called to propose a login using the one process model. Only anonymous 19 * logins supported! 20 * PARAMETERS 21 * p_sess - the current session object 22 * p_pass_str - the proposed password 23 */ 24void vsf_one_process_login(struct vsf_session* p_sess, 25 const struct mystr* p_pass_str); 26 27/* vsf_one_process_get_priv_data_sock() 28 * PURPOSE 29 * Get a privileged port 20 bound data socket using the one process model. 30 * PARAMETERS 31 * p_sess - the current session object 32 * RETURNS 33 * The file descriptor of the privileged socket 34 */ 35int vsf_one_process_get_priv_data_sock(struct vsf_session* p_sess); 36 37/* vsf_one_process_chown_upload() 38 * PURPOSE 39 * Change ownership of an uploaded file using the one process model. 40 * PARAMETERS 41 * p_sess - the current session object 42 * fd - the file descriptor to change ownership on 43 */ 44void vsf_one_process_chown_upload(struct vsf_session* p_sess, int fd); 45 46#endif /* VSF_ONEPROCESS_H */ 47 48