#import "LUDictionary.h"
#import "LUArray.h"
#import "LUAgent.h"
#import <sys/types.h>
#import <sys/time.h>
@interface LUNIDomain : LUAgent
{
void *ni;
LUNIDomain *parent;
BOOL iAmRoot;
BOOL mustSetChecksumPassword;
int isLocal;
char *myDomainName;
char *masterHostName;
char *masterTag;
char *currentServer;
char *currentServerHostName;
char *currentServerAddress;
char *currentServerTag;
unsigned long currentServerIPAddr;
BOOL mustSetMaxChecksumAge;
unsigned long lastChecksum;
time_t maxChecksumAge;
struct timeval lastChecksumFetch;
char **userKeys;
char **groupKeys;
char **hostKeys;
char **networkKeys;
char **serviceKeys;
char **protocolKeys;
char **rpcKeys;
char **mountKeys;
char **bootparamKeys;
char **aliasKeys;
}
+ (void *)handleForName:(char *)name;
- (LUNIDomain *)initWithDomainNamed:(char *)domainName;
- (LUNIDomain *)parent;
- (BOOL)isRootDomain;
- (BOOL)isLocalDomain;
- (char *)nameForChild:(LUNIDomain *)child;
- (const char *)name;
- (char *)masterHostName;
- (char *)masterTag;
- (char *)currentServer;
- (char *)currentServerHostName;
- (char *)currentServerAddress;
- (char *)currentServerTag;
- (void)setTimeout:(unsigned long)t;
- (void)setMaxChecksumAge:(time_t)age;
- (unsigned long)checksum;
- (unsigned long)currentChecksum;
- (LUDictionary *)readDirectory:(unsigned long)d
selectedKeys:(char **)keyList;
- (LUDictionary *)readDirectoryName:(char *)name
selectedKeys:(char **)keyList;
- (LUDictionary *)entityForCategory:(LUCategory)cat
key:(char *)aKey
value:(char *)aVal;
- (LUDictionary *)entityForCategory:(LUCategory)cat
key:(char *)aKey
value:(char *)aVal
selectedKeys:(char **)keyList;
- (LUArray *)allEntitiesForCategory:(LUCategory)cat
selectedKeys:(char **)keyList;
- (LUArray *)allEntitiesForCategory:(LUCategory)cat
key:(char *)aKey
value:(char *)aVal
selectedKeys:(char **)keyList;
- (BOOL)isSecurityEnabledForOption:(char *)option;
- (BOOL)checkNetwareEnabled;
- (LUDictionary *)netgroupWithName:(char *)name;
@end