#ifndef __SOURCE4_TORTURE_RAW_PROTO_H__
#define __SOURCE4_TORTURE_RAW_PROTO_H__

#undef _PRINTF_ATTRIBUTE
#define _PRINTF_ATTRIBUTE(a1, a2) PRINTF_ATTRIBUTE(a1, a2)
/* This file was automatically generated by mkproto.pl. DO NOT EDIT */

/* this file contains prototypes for functions that are private 
 * to this subsystem or library. These functions should not be 
 * used outside this particular subsystem! */


/* The following definitions come from ../../source4/torture/raw/qfsinfo.c  */

bool torture_raw_qfsinfo(struct torture_context *torture,
			 struct smbcli_state *cli);

/* The following definitions come from ../../source4/torture/raw/qfileinfo.c  */

bool torture_raw_qfileinfo(struct torture_context *torture,
						   struct smbcli_state *cli);
bool torture_raw_qfileinfo_pipe(struct torture_context *torture,
				struct smbcli_state *cli);

/* The following definitions come from ../../source4/torture/raw/setfileinfo.c  */


/**
 * Test both the snia cifs RAW_SFILEINFO_END_OF_FILE_INFO and the undocumented
 * pass-through RAW_SFILEINFO_END_OF_FILE_INFORMATION in the context of
 * trans2setpathinfo.
 */
struct torture_suite *torture_raw_sfileinfo(TALLOC_CTX *mem_ctx);

/* The following definitions come from ../../source4/torture/raw/search.c  */

NTSTATUS torture_single_search(struct smbcli_state *cli,
			       TALLOC_CTX *tctx,
			       const char *pattern,
			       enum smb_search_level level,
			       enum smb_search_data_level data_level,
			       uint16_t attrib,
			       union smb_search_data *data);
struct torture_suite *torture_raw_search(TALLOC_CTX *mem_ctx);

/* The following definitions come from ../../source4/torture/raw/close.c  */


/**
 * basic testing of all RAW_CLOSE_* calls
*/
bool torture_raw_close(struct torture_context *torture,
		       struct smbcli_state *cli);

/* The following definitions come from ../../source4/torture/raw/open.c  */


/**
 * Test for file size to be 0 after create with FILE_SUPERSEDE
 */
struct torture_suite *torture_raw_open(TALLOC_CTX *mem_ctx);

/* The following definitions come from ../../source4/torture/raw/mkdir.c  */

bool torture_raw_mkdir(struct torture_context *torture,
		       struct smbcli_state *cli);

/* The following definitions come from ../../source4/torture/raw/oplock.c  */


/****************************************************
 Called from raw-rename - we need oplock handling for
 this test so this is why it's in oplock.c, not rename.c
****************************************************/
bool test_trans2rename(struct torture_context *tctx, struct smbcli_state *cli1, struct smbcli_state *cli2);

/****************************************************
 Called from raw-rename - we need oplock handling for
 this test so this is why it's in oplock.c, not rename.c
****************************************************/
bool test_nttransrename(struct torture_context *tctx, struct smbcli_state *cli1);

/**
 * Similar to batch17/18, but test with open share mode rather than
 * share_none.
 */
struct torture_suite *torture_raw_oplock(TALLOC_CTX *mem_ctx);
bool torture_bench_oplock(struct torture_context *torture);
bool torture_hold_oplock(struct torture_context *torture,
			 struct smbcli_state *cli);

/* The following definitions come from ../../source4/torture/raw/notify.c  */

struct torture_suite *torture_raw_notify(TALLOC_CTX *mem_ctx);

/* The following definitions come from ../../source4/torture/raw/mux.c  */

bool torture_raw_mux(struct torture_context *torture, struct smbcli_state *cli);

/* The following definitions come from ../../source4/torture/raw/ioctl.c  */

bool torture_raw_ioctl(struct torture_context *torture,
		       struct smbcli_state *cli);

/* The following definitions come from ../../source4/torture/raw/chkpath.c  */

bool torture_raw_chkpath(struct torture_context *torture,
			 struct smbcli_state *cli);

/* The following definitions come from ../../source4/torture/raw/unlink.c  */

struct torture_suite *torture_raw_unlink(TALLOC_CTX *mem_ctx);

/* The following definitions come from ../../source4/torture/raw/read.c  */

struct torture_suite *torture_raw_read(TALLOC_CTX *mem_ctx);

/* The following definitions come from ../../source4/torture/raw/context.c  */

struct torture_suite *torture_raw_context(TALLOC_CTX *mem_ctx);

/* The following definitions come from ../../source4/torture/raw/session.c  */

struct torture_suite *torture_raw_session(TALLOC_CTX *mem_ctx);

/* The following definitions come from ../../source4/torture/raw/write.c  */

struct torture_suite *torture_raw_write(TALLOC_CTX *mem_ctx);

/* The following definitions come from ../../source4/torture/raw/lock.c  */


/**
 * Test how 0-byte read requests contend with byte range locks
 */
struct torture_suite *torture_raw_lock(TALLOC_CTX *mem_ctx);

/* The following definitions come from ../../source4/torture/raw/pingpong.c  */

bool torture_ping_pong(struct torture_context *torture);

/* The following definitions come from ../../source4/torture/raw/lockbench.c  */

bool torture_bench_lock(struct torture_context *torture);

/* The following definitions come from ../../source4/torture/raw/lookuprate.c  */

bool torture_bench_lookup(struct torture_context *torture);

/* The following definitions come from ../../source4/torture/raw/tconrate.c  */

bool torture_bench_treeconnect(struct torture_context *tctx);

/* The following definitions come from ../../source4/torture/raw/openbench.c  */

bool torture_bench_open(struct torture_context *torture);

/* The following definitions come from ../../source4/torture/raw/rename.c  */

struct torture_suite *torture_raw_rename(TALLOC_CTX *mem_ctx);

/* The following definitions come from ../../source4/torture/raw/eas.c  */

bool torture_raw_eas(struct torture_context *torture, struct smbcli_state *cli);
bool torture_max_eas(struct torture_context *torture);

/* The following definitions come from ../../source4/torture/raw/streams.c  */


/**
 * A rough approximation of how a windows client creates the streams for use
 * in the summary tab.
 */
struct torture_suite *torture_raw_streams(TALLOC_CTX *tctx);

/* The following definitions come from ../../source4/torture/raw/acls.c  */


/**
 * Test setting and removing a DACL.
 * Test copied to torture_smb2_setinfo() for SMB2.
 */
struct torture_suite *torture_raw_acls(TALLOC_CTX *mem_ctx);

/* The following definitions come from ../../source4/torture/raw/seek.c  */

bool torture_raw_seek(struct torture_context *torture, struct smbcli_state *cli);

/* The following definitions come from ../../source4/torture/raw/samba3hide.c  */

bool torture_samba3_hide(struct torture_context *torture, struct smbcli_state *cli);
bool torture_samba3_closeerr(struct torture_context *tctx, struct smbcli_state *cli);

/* The following definitions come from ../../source4/torture/raw/samba3misc.c  */

bool torture_samba3_checkfsp(struct torture_context *torture, struct smbcli_state *cli);
bool torture_samba3_badpath(struct torture_context *torture);
bool torture_samba3_caseinsensitive(struct torture_context *torture, struct smbcli_state *cli);
bool torture_samba3_posixtimedlock(struct torture_context *tctx, struct smbcli_state *cli);
bool torture_samba3_rootdirfid(struct torture_context *tctx, struct smbcli_state *cli);
bool torture_samba3_rootdirfid2(struct torture_context *tctx, struct smbcli_state *cli);
bool torture_samba3_oplock_logoff(struct torture_context *tctx, struct smbcli_state *cli);
bool torture_samba3_check_openX_badname(struct torture_context *tctx, struct smbcli_state *cli);

/* The following definitions come from ../../source4/torture/raw/composite.c  */

struct torture_suite *torture_raw_composite(TALLOC_CTX *mem_ctx);

/* The following definitions come from ../../source4/torture/raw/raw.c  */

NTSTATUS torture_raw_init(TALLOC_CTX *ctx);

/* The following definitions come from ../../source4/torture/raw/offline.c  */

bool torture_test_offline(struct torture_context *torture);
#undef _PRINTF_ATTRIBUTE
#define _PRINTF_ATTRIBUTE(a1, a2)

#endif /* __SOURCE4_TORTURE_RAW_PROTO_H__ */

