/* parser auto-generated by pidl */

#include "replace.h"
#include "bin/default/librpc/gen_ndr/ndr_fscc.h"

#include "librpc/gen_ndr/ndr_misc.h"
_PUBLIC_ enum ndr_err_code ndr_push_fscc_FileObjectIdBuffer_2(struct ndr_push *ndr, ndr_flags_type ndr_flags, const struct fscc_FileObjectIdBuffer_2 *r)
{
	NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
	if (ndr_flags & NDR_SCALARS) {
		NDR_CHECK(ndr_push_align(ndr, 4));
		NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->id));
		NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->birthVolumeId));
		NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->initialObjectId));
		NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->domainId));
		NDR_CHECK(ndr_push_trailer_align(ndr, 4));
	}
	if (ndr_flags & NDR_BUFFERS) {
	}
	return NDR_ERR_SUCCESS;
}

_PUBLIC_ enum ndr_err_code ndr_pull_fscc_FileObjectIdBuffer_2(struct ndr_pull *ndr, ndr_flags_type ndr_flags, struct fscc_FileObjectIdBuffer_2 *r)
{
	NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
	if (ndr_flags & NDR_SCALARS) {
		NDR_CHECK(ndr_pull_align(ndr, 4));
		NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->id));
		NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->birthVolumeId));
		NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->initialObjectId));
		NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->domainId));
		NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
	}
	if (ndr_flags & NDR_BUFFERS) {
	}
	return NDR_ERR_SUCCESS;
}

static void ndr_print_flags_fscc_FileObjectIdBuffer_2(struct ndr_print *ndr, const char *name, ndr_flags_type unused, const struct fscc_FileObjectIdBuffer_2 *r)
{
	ndr_print_fscc_FileObjectIdBuffer_2(ndr, name, r);
}

_PUBLIC_ void ndr_print_fscc_FileObjectIdBuffer_2(struct ndr_print *ndr, const char *name, const struct fscc_FileObjectIdBuffer_2 *r)
{
	ndr_print_struct(ndr, name, "fscc_FileObjectIdBuffer_2");
	if (r == NULL) { ndr_print_null(ndr); return; }
	ndr->depth++;
	ndr_print_GUID(ndr, "id", &r->id);
	ndr_print_GUID(ndr, "birthVolumeId", &r->birthVolumeId);
	ndr_print_GUID(ndr, "initialObjectId", &r->initialObjectId);
	ndr_print_GUID(ndr, "domainId", &r->domainId);
	ndr->depth--;
}

static enum ndr_err_code ndr_push_fscc_FileAttributes(struct ndr_push *ndr, ndr_flags_type ndr_flags, uint32_t r)
{
	{
		libndr_flags _flags_save_BITMAP = ndr->flags;
		ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
		NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
		ndr->flags = _flags_save_BITMAP;
	}
	return NDR_ERR_SUCCESS;
}

static enum ndr_err_code ndr_pull_fscc_FileAttributes(struct ndr_pull *ndr, ndr_flags_type ndr_flags, uint32_t *r)
{
	uint32_t v;
	{
		libndr_flags _flags_save_BITMAP = ndr->flags;
		ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
		NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
		*r = v;
		ndr->flags = _flags_save_BITMAP;
	}
	return NDR_ERR_SUCCESS;
}

_PUBLIC_ void ndr_print_fscc_FileAttributes(struct ndr_print *ndr, const char *name, uint32_t r)
{
	{
		libndr_flags _flags_save_BITMAP = ndr->flags;
		ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
		ndr_print_uint32(ndr, name, r);
		ndr->depth++;
		ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "FSCC_FILE_ATTRIBUTE_READONLY", FSCC_FILE_ATTRIBUTE_READONLY, r);
		ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "FSCC_FILE_ATTRIBUTE_HIDDEN", FSCC_FILE_ATTRIBUTE_HIDDEN, r);
		ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "FSCC_FILE_ATTRIBUTE_SYSTEM", FSCC_FILE_ATTRIBUTE_SYSTEM, r);
		ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "FSCC_FILE_ATTRIBUTE_NORMAL", FSCC_FILE_ATTRIBUTE_NORMAL, r);
		ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "FSCC_FILE_ATTRIBUTE_DIRECTORY", FSCC_FILE_ATTRIBUTE_DIRECTORY, r);
		ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "FSCC_FILE_ATTRIBUTE_ARCHIVE", FSCC_FILE_ATTRIBUTE_ARCHIVE, r);
		ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "FSCC_FILE_ATTRIBUTE_TEMPORARY", FSCC_FILE_ATTRIBUTE_TEMPORARY, r);
		ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "FSCC_FILE_ATTRIBUTE_SPARSE_FILE", FSCC_FILE_ATTRIBUTE_SPARSE_FILE, r);
		ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "FSCC_FILE_ATTRIBUTE_REPARSE_POINT", FSCC_FILE_ATTRIBUTE_REPARSE_POINT, r);
		ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "FSCC_FILE_ATTRIBUTE_COMPRESSED", FSCC_FILE_ATTRIBUTE_COMPRESSED, r);
		ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "FSCC_FILE_ATTRIBUTE_OFFLINE", FSCC_FILE_ATTRIBUTE_OFFLINE, r);
		ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "FSCC_FILE_ATTRIBUTE_NOT_CONTENT_INDEXED", FSCC_FILE_ATTRIBUTE_NOT_CONTENT_INDEXED, r);
		ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "FSCC_FILE_ATTRIBUTE_ENCRYPTED", FSCC_FILE_ATTRIBUTE_ENCRYPTED, r);
		ndr->depth--;
		ndr->flags = _flags_save_BITMAP;
	}
}

_PUBLIC_ enum ndr_err_code ndr_push_fscc_FileNetworkOpenInformation(struct ndr_push *ndr, ndr_flags_type ndr_flags, const struct fscc_FileNetworkOpenInformation *r)
{
	NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
	if (ndr_flags & NDR_SCALARS) {
		NDR_CHECK(ndr_push_align(ndr, 8));
		NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->creationTime));
		NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->lastAccessTime));
		NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->lastWriteTime));
		NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->changeTime));
		NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->allocSize));
		NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->endOfFile));
		NDR_CHECK(ndr_push_fscc_FileAttributes(ndr, NDR_SCALARS, r->fileAttribute));
		NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->reserved));
		NDR_CHECK(ndr_push_trailer_align(ndr, 8));
	}
	if (ndr_flags & NDR_BUFFERS) {
	}
	return NDR_ERR_SUCCESS;
}

_PUBLIC_ enum ndr_err_code ndr_pull_fscc_FileNetworkOpenInformation(struct ndr_pull *ndr, ndr_flags_type ndr_flags, struct fscc_FileNetworkOpenInformation *r)
{
	NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
	if (ndr_flags & NDR_SCALARS) {
		NDR_CHECK(ndr_pull_align(ndr, 8));
		NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->creationTime));
		NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->lastAccessTime));
		NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->lastWriteTime));
		NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->changeTime));
		NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->allocSize));
		NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->endOfFile));
		NDR_CHECK(ndr_pull_fscc_FileAttributes(ndr, NDR_SCALARS, &r->fileAttribute));
		NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved));
		NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
	}
	if (ndr_flags & NDR_BUFFERS) {
	}
	return NDR_ERR_SUCCESS;
}

static void ndr_print_flags_fscc_FileNetworkOpenInformation(struct ndr_print *ndr, const char *name, ndr_flags_type unused, const struct fscc_FileNetworkOpenInformation *r)
{
	ndr_print_fscc_FileNetworkOpenInformation(ndr, name, r);
}

_PUBLIC_ void ndr_print_fscc_FileNetworkOpenInformation(struct ndr_print *ndr, const char *name, const struct fscc_FileNetworkOpenInformation *r)
{
	ndr_print_struct(ndr, name, "fscc_FileNetworkOpenInformation");
	if (r == NULL) { ndr_print_null(ndr); return; }
	ndr->depth++;
	ndr_print_hyper(ndr, "creationTime", r->creationTime);
	ndr_print_hyper(ndr, "lastAccessTime", r->lastAccessTime);
	ndr_print_hyper(ndr, "lastWriteTime", r->lastWriteTime);
	ndr_print_hyper(ndr, "changeTime", r->changeTime);
	ndr_print_hyper(ndr, "allocSize", r->allocSize);
	ndr_print_hyper(ndr, "endOfFile", r->endOfFile);
	ndr_print_fscc_FileAttributes(ndr, "fileAttribute", r->fileAttribute);
	ndr_print_uint32(ndr, "reserved", r->reserved);
	ndr->depth--;
}

#ifndef SKIP_NDR_TABLE_fscc
static const struct ndr_interface_public_struct fscc_public_structs[] = {
	{
		.name = "fscc_FileObjectIdBuffer_2",
		.struct_size = sizeof(struct fscc_FileObjectIdBuffer_2 ),
		.ndr_push = (ndr_push_flags_fn_t) ndr_push_fscc_FileObjectIdBuffer_2,
		.ndr_pull = (ndr_pull_flags_fn_t) ndr_pull_fscc_FileObjectIdBuffer_2,
		.ndr_print = (ndr_print_function_t) ndr_print_flags_fscc_FileObjectIdBuffer_2,
	},
	{
		.name = "fscc_FileNetworkOpenInformation",
		.struct_size = sizeof(struct fscc_FileNetworkOpenInformation ),
		.ndr_push = (ndr_push_flags_fn_t) ndr_push_fscc_FileNetworkOpenInformation,
		.ndr_pull = (ndr_pull_flags_fn_t) ndr_pull_fscc_FileNetworkOpenInformation,
		.ndr_print = (ndr_print_function_t) ndr_print_flags_fscc_FileNetworkOpenInformation,
	},
	{ .name = NULL }
};

static const struct ndr_interface_call fscc_calls[] = {
	{ .name = NULL }
};

static const char * const fscc_endpoint_strings[] = {
	"ncacn_np:[\\pipe\\fscc]", 
};

static const struct ndr_interface_string_array fscc_endpoints = {
	.count	= 1,
	.names	= fscc_endpoint_strings
};

static const char * const fscc_authservice_strings[] = {
	"host", 
};

static const struct ndr_interface_string_array fscc_authservices = {
	.count	= 1,
	.names	= fscc_authservice_strings
};


const struct ndr_interface_table ndr_table_fscc = {
	.name		= "fscc",
	.num_calls	= 0,
	.calls		= fscc_calls,
	.num_public_structs	= 2,
	.public_structs		= fscc_public_structs,
	.endpoints	= &fscc_endpoints,
	.authservices	= &fscc_authservices
};

#endif /* SKIP_NDR_TABLE_fscc */
