#include "idl_types.h"

import "security.idl";

/*
   IDL structures for secrets code
*/

[
	pointer_default(unique)
]
	interface secrets
{

	/*
	 * s3 on-disc storage structure for trusted domains, do not change !
	 */

	typedef [flag(NDR_NOALIGN),public] struct {
		[value(strlen_m_term(uni_name))] uint32 uni_name_len;
		[charset(UTF16)] uint16 uni_name[32]; /* unicode domain name */
		[value(strlen(pass))] uint32 pass_len;
		astring pass;		/* trust relationship's password */
		time_t mod_time;
		dom_sid domain_sid;	/* remote domain's sid */
	} TRUSTED_DOM_PASS;

	/*
	 * s3 on-disc storage structure for lsa secrets, do not change !
	 */

	typedef [public] struct {
		DATA_BLOB *secret_current;
		NTTIME secret_current_lastchange;
		DATA_BLOB *secret_old;
		NTTIME secret_old_lastchange;
		security_descriptor *sd;
	} lsa_secret;

}

