2009-02-04 11:07:36 +03:00
/*
Unix SMB / CIFS implementation .
Headers for the async winbind client library
Copyright ( C ) Kai Blin 2009
This program is free software ; you can redistribute it and / or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation ; either version 3 of the License , or
( at your option ) any later version .
This program is distributed in the hope that it will be useful ,
but WITHOUT ANY WARRANTY ; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE . See the
GNU General Public License for more details .
You should have received a copy of the GNU General Public License
along with this program . If not , see < http : //www.gnu.org/licenses/>.
*/
# ifndef _WBC_ASYNC_H_
# define _WBC_ASYNC_H_
# include "nsswitch/libwbclient/wbclient.h"
2009-03-16 22:23:37 +03:00
struct wb_context ;
2009-02-04 11:07:36 +03:00
struct async_req * wb_trans_send ( TALLOC_CTX * mem_ctx , struct tevent_context * ev ,
struct wb_context * wb_ctx , bool need_priv ,
2009-03-08 14:25:10 +03:00
struct winbindd_request * wb_req ) ;
2009-02-04 11:07:36 +03:00
wbcErr wb_trans_recv ( struct async_req * req , TALLOC_CTX * mem_ctx ,
struct winbindd_response * * presponse ) ;
struct wb_context * wb_context_init ( TALLOC_CTX * mem_ctx ) ;
/* Definitions from wb_reqtrans.c */
bool async_req_is_wbcerr ( struct async_req * req , wbcErr * pwbc_err ) ;
wbcErr map_wbc_err_from_errno ( int error ) ;
wbcErr async_req_simple_recv_wbcerr ( struct async_req * req ) ;
2009-03-08 11:34:35 +03:00
bool tevent_req_is_wbcerr ( struct tevent_req * req , wbcErr * pwbc_err ) ;
wbcErr tevent_req_simple_recv_wbcerr ( struct tevent_req * req ) ;
2009-03-08 12:04:04 +03:00
struct tevent_req * wb_req_read_send ( TALLOC_CTX * mem_ctx ,
struct tevent_context * ev ,
int fd , size_t max_extra_data ) ;
wbcErr wb_req_read_recv ( struct tevent_req * req , TALLOC_CTX * mem_ctx ,
2009-02-04 11:07:36 +03:00
struct winbindd_request * * preq ) ;
2009-03-08 11:35:13 +03:00
struct tevent_req * wb_req_write_send ( TALLOC_CTX * mem_ctx ,
struct tevent_context * ev ,
struct tevent_queue * queue , int fd ,
struct winbindd_request * wb_req ) ;
wbcErr wb_req_write_recv ( struct tevent_req * req ) ;
2009-02-04 11:07:36 +03:00
2009-03-08 12:20:27 +03:00
struct tevent_req * wb_resp_read_send ( TALLOC_CTX * mem_ctx ,
struct tevent_context * ev , int fd ) ;
wbcErr wb_resp_read_recv ( struct tevent_req * req , TALLOC_CTX * mem_ctx ,
2009-02-04 11:07:36 +03:00
struct winbindd_response * * presp ) ;
2009-03-08 12:28:05 +03:00
struct tevent_req * wb_resp_write_send ( TALLOC_CTX * mem_ctx ,
2009-03-15 13:25:20 +03:00
struct tevent_context * ev ,
struct tevent_queue * queue , int fd ,
2009-03-08 12:28:05 +03:00
struct winbindd_response * wb_resp ) ;
wbcErr wb_resp_write_recv ( struct tevent_req * req ) ;
2009-02-04 11:07:36 +03:00
# endif /*_WBC_ASYNC_H_*/