#ifndef __aod_h__
#define __aod_h__ 1
#include <pwd.h>
#define kXMLKeyAttrVersion "kAttributeVersion"
#define kXMLValueVersion "Apple Mail 1.0"
#define kXMLValueVersion2 "Apple Mail 2.0"
#define kXMLKeyAcctState "kMailAccountState"
#define kXMLValueAcctEnabled "Enabled"
#define kXMLValueAcctDisabled "Off"
#define kXMLValueAcctFwd "Forward"
#define kXMLKeyAutoFwd "kAutoForwardValue"
#define kXMLKeyAltDataStoreLoc "kAltMailStoreLoc"
#define kXMLKeyDiskQuota "kUserDiskQuota"
#define kClientUserPath "/var/db/.mailusersettings.plist"
#define kServerUserPath "/Library/Server/Mail/Data/db/.mailusersettings.plist"
typedef enum {
eUnknownAcctState = 0,
eAcctEnabled = 1,
eAcctDisabled = 2,
eAcctForwarded = 3
} eMailAcctState;
typedef enum {
eUnknownEvent = 0,
eBadRecipient = 1,
eAuthFailure = 2,
eAuthSuccess = 3
} eEventCode;
struct od_user_opts
{
char fUserID[ 512 ];
char fRecName[ 512 ];
char fAutoFwdAddr[ 512 ];
eMailAcctState fAcctState;
};
void send_server_event( const eEventCode in_code, const char *in_name, const char *in_addr );
void close_server_event_port( void );
int aod_get_user_options( const char *inUserID, struct od_user_opts *inOutOpts );
int ads_get_user_options( const char *inUserID, struct od_user_opts *inOutOpts );
uid_t ads_get_uid( const char *inUserID );
const char *ads_getpwnam( const char *inUserID );
int sacl_check(const char *inUserID);
#endif