s3-passdb: move some defines out of rpc headers (they really belong to passdb).
[kamenim/samba.git] / source3 / include / rpc_client.h
index 0524f037e2c2dbe9f2d77346cfdb5e024224d4e5..84ac8b17d4b0d1ddcbe2d8556952f1e5b5eb4b51 100644 (file)
@@ -5,7 +5,7 @@
    
    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 2 of the License, or
+   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,
    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, write to the Free Software
-   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */
 
 #ifndef _RPC_CLIENT_H
 #define _RPC_CLIENT_H
 
-/* macro to expand cookie-cutter code in cli_xxx() using rpc_api_pipe_req() */
-
-#define CLI_DO_RPC_INTERNAL( pcli, ctx, p_idx, opnum, q_in, r_out, \
-                             q_ps, r_ps, q_io_fn, r_io_fn, default_error, copy_sess_key ) \
-{\
-       SMB_ASSERT(pcli->pipe_idx == p_idx); \
-       if (!prs_init( &q_ps, RPC_MAX_PDU_FRAG_LEN, ctx, MARSHALL )) { \
-               return NT_STATUS_NO_MEMORY;\
-       }\
-       if (!prs_init( &r_ps, 0, ctx, UNMARSHALL )) {\
-               prs_mem_free( &q_ps );\
-               return NT_STATUS_NO_MEMORY;\
-       }\
-       if ( copy_sess_key) prs_set_session_key(&q_ps, (const char *)pcli->dc->sess_key);\
-       if ( q_io_fn("", &q_in, &q_ps, 0) ) {\
-               NTSTATUS _smb_pipe_stat_ = rpc_api_pipe_req(pcli, opnum, &q_ps, &r_ps); \
-               if (!NT_STATUS_IS_OK(_smb_pipe_stat_)) {\
-                       prs_mem_free( &q_ps );\
-                       prs_mem_free( &r_ps );\
-                       return _smb_pipe_stat_;\
-               }\
-               if ( copy_sess_key ) prs_set_session_key(&r_ps, (const char *)pcli->dc->sess_key);\
-               if (!r_io_fn("", &r_out, &r_ps, 0)) {\
-                       prs_mem_free( &q_ps );\
-                       prs_mem_free( &r_ps );\
-                       return default_error;\
-               }\
-       } else {\
-               prs_mem_free( &q_ps );\
-               prs_mem_free( &r_ps );\
-               return default_error;\
-       }\
-       prs_mem_free( &q_ps );\
-       prs_mem_free( &r_ps );\
-}
-
-#define CLI_DO_RPC_COPY_SESS_KEY( pcli, ctx, p_idx, opnum, q_in, r_out, \
-                                 q_ps, r_ps, q_io_fn, r_io_fn, default_error ) \
-{\
-       CLI_DO_RPC_INTERNAL( pcli, ctx, p_idx, opnum, q_in, r_out, \
-                            q_ps, r_ps, q_io_fn, r_io_fn, default_error, True ); \
-}
-
-#define CLI_DO_RPC( pcli, ctx, p_idx, opnum, q_in, r_out, \
-                    q_ps, r_ps, q_io_fn, r_io_fn, default_error ) \
-{\
-       CLI_DO_RPC_INTERNAL( pcli, ctx, p_idx, opnum, q_in, r_out, \
-                            q_ps, r_ps, q_io_fn, r_io_fn, default_error, False ); \
-}
-
-
-/* Arrrgg. Same but with WERRORS. Needed for registry code. */
-
-#define CLI_DO_RPC_WERR( pcli, ctx, p_idx, opnum, q_in, r_out, \
-                             q_ps, r_ps, q_io_fn, r_io_fn, default_error ) \
-{\
-       SMB_ASSERT(pcli->pipe_idx == p_idx); \
-       if (!prs_init( &q_ps, RPC_MAX_PDU_FRAG_LEN, ctx, MARSHALL )) { \
-               return WERR_NOMEM;\
-       }\
-       if (!prs_init( &r_ps, 0, ctx, UNMARSHALL )) {\
-               prs_mem_free( &q_ps );\
-               return WERR_NOMEM;\
-       }\
-       if ( q_io_fn("", &q_in, &q_ps, 0) ) {\
-               NTSTATUS _smb_pipe_stat_ = rpc_api_pipe_req(pcli, opnum, &q_ps, &r_ps); \
-               if (!NT_STATUS_IS_OK(_smb_pipe_stat_)) {\
-                       prs_mem_free( &q_ps );\
-                       prs_mem_free( &r_ps );\
-                       return ntstatus_to_werror(_smb_pipe_stat_);\
-               }\
-               if (!r_io_fn("", &r_out, &r_ps, 0)) {\
-                       prs_mem_free( &q_ps );\
-                       prs_mem_free( &r_ps );\
-                       return default_error;\
-               }\
-       } else {\
-               prs_mem_free( &q_ps );\
-               prs_mem_free( &r_ps );\
-               return default_error;\
-       }\
-       prs_mem_free( &q_ps );\
-       prs_mem_free( &r_ps );\
-}
+/* autogenerated client stubs */
+
+#include "librpc/gen_ndr/cli_echo.h"
+#include "librpc/gen_ndr/cli_lsa.h"
+#include "librpc/gen_ndr/cli_svcctl.h"
+#include "librpc/gen_ndr/cli_wkssvc.h"
+#include "librpc/gen_ndr/cli_eventlog.h"
+#include "librpc/gen_ndr/cli_dfs.h"
+#include "librpc/gen_ndr/cli_initshutdown.h"
+#include "librpc/gen_ndr/cli_winreg.h"
+#include "librpc/gen_ndr/cli_srvsvc.h"
+#include "librpc/gen_ndr/cli_samr.h"
+#include "librpc/gen_ndr/cli_netlogon.h"
+#include "librpc/gen_ndr/cli_dssetup.h"
+#include "librpc/gen_ndr/cli_ntsvcs.h"
+#include "librpc/gen_ndr/cli_epmapper.h"
+#include "librpc/gen_ndr/cli_drsuapi.h"
+#include "librpc/gen_ndr/cli_spoolss.h"
+
+#define prs_init_empty( _ps_, _ctx_, _io_ ) (void) prs_init((_ps_), 0, (_ctx_), (_io_))
 
 #endif /* _RPC_CLIENT_H */