|
root / base / usr / src / lib / libads / common / adspriv_xdr.c
adspriv_xdr.c C 125 lines 2.6 KB
  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
/*
 * Please do not edit this file.
 * It was generated using rpcgen.
 */

#include "ads_priv.h"

#ifndef _KERNEL
#include <stdlib.h>
#endif /* !_KERNEL */

/*
 * Copyright 2014 Nexenta Systems, Inc.  All rights reserved.
 */
/*
 * from ads_priv.x
 * Active Directory Services (ADS) Private interface between
 * libads and the ADS deamon.  (RPC over doors)
 */
/*
 * XDR routines for the ADS API
 */

bool_t
xdr_adspriv_guid(XDR *xdrs, adspriv_guid objp)
{

	rpc_inline_t *buf __unused;

	if (!xdr_opaque(xdrs, objp, ADSPRIV_GUID_LEN))
		return (FALSE);
	return (TRUE);
}

bool_t
xdr_adspriv_sockaddr(XDR *xdrs, adspriv_sockaddr objp)
{

	rpc_inline_t *buf __unused;

	if (!xdr_opaque(xdrs, objp, ADSPRIV_SOCKADDR_LEN))
		return (FALSE);
	return (TRUE);
}

bool_t
xdr_adspriv_dcinfo(XDR *xdrs, adspriv_dcinfo *objp)
{

	rpc_inline_t *buf __unused;

	if (!xdr_string(xdrs, &objp->dci_DcName, ADSPRIV_STR_MAX))
		return (FALSE);
	if (!xdr_string(xdrs, &objp->dci_DcAddr, ADSPRIV_STR_MAX))
		return (FALSE);
	if (!xdr_u_int(xdrs, &objp->dci_AddrType))
		return (FALSE);
	if (!xdr_adspriv_guid(xdrs, objp->dci_guid))
		return (FALSE);
	if (!xdr_string(xdrs, &objp->dci_DomainName, ADSPRIV_STR_MAX))
		return (FALSE);
	if (!xdr_string(xdrs, &objp->dci_DnsForestName, ADSPRIV_STR_MAX))
		return (FALSE);
	if (!xdr_u_int(xdrs, &objp->dci_Flags))
		return (FALSE);
	if (!xdr_string(xdrs, &objp->dci_DcSiteName, ADSPRIV_STR_MAX))
		return (FALSE);
	if (!xdr_string(xdrs, &objp->dci_ClientSiteName, ADSPRIV_STR_MAX))
		return (FALSE);
	if (!xdr_adspriv_sockaddr(xdrs, objp->dci_sockaddr))
		return (FALSE);
	return (TRUE);
}

bool_t
xdr_DsForceRediscoveryArgs(XDR *xdrs, DsForceRediscoveryArgs *objp)
{

	rpc_inline_t *buf __unused;

	if (!xdr_u_int(xdrs, &objp->Flags))
		return (FALSE);
	if (!xdr_string(xdrs, &objp->DomainName, ADSPRIV_STR_MAX))
		return (FALSE);
	return (TRUE);
}

bool_t
xdr_DsGetDcNameArgs(XDR *xdrs, DsGetDcNameArgs *objp)
{

	rpc_inline_t *buf __unused;

	if (!xdr_string(xdrs, &objp->ComputerName, ADSPRIV_STR_MAX))
		return (FALSE);
	if (!xdr_string(xdrs, &objp->DomainName, ADSPRIV_STR_MAX))
		return (FALSE);
	if (!xdr_string(xdrs, &objp->DomainGuid, ADSPRIV_STR_MAX))
		return (FALSE);
	if (!xdr_string(xdrs, &objp->SiteName, ADSPRIV_STR_MAX))
		return (FALSE);
	if (!xdr_u_int(xdrs, &objp->Flags))
		return (FALSE);
	return (TRUE);
}

bool_t
xdr_DsGetDcNameRes(XDR *xdrs, DsGetDcNameRes *objp)
{

	rpc_inline_t *buf __unused;

	if (!xdr_int(xdrs, &objp->status))
		return (FALSE);
	switch (objp->status) {
	case 0:
		if (!xdr_adspriv_dcinfo(xdrs, &objp->DsGetDcNameRes_u.res0))
			return (FALSE);
		break;
	default:
		break;
	}
	return (TRUE);
}