#ifndef _S_CONTROLLER_H
#define _S_CONTROLLER_H
#include <sys/types.h>
#include <sys/queue.h>
#include <mach/mach.h>
#include <CoreFoundation/CFDictionary.h>
extern char * eapolclient_path;
#include "eapolcontroller_types.h"
void
ControllerInitialize();
int
ControllerCopyStateAndStatus(if_name_t if_name,
int * state,
CFDictionaryRef * status_dict);
int
ControllerGetState(if_name_t if_name, int * state);
int
ControllerStart(if_name_t if_name, uid_t uid, gid_t gid,
CFDictionaryRef config_dict, mach_port_t bootstrap);
int
ControllerUpdate(if_name_t if_name, uid_t uid, gid_t gid,
CFDictionaryRef config_dict);
int
ControllerRetry(if_name_t if_name, uid_t uid, gid_t gid);
int
ControllerStop(if_name_t if_name, uid_t uid, gid_t gid);
int
ControllerSetLogLevel(if_name_t if_name, uid_t uid, gid_t gid,
int32_t level);
int
ControllerClientAttach(pid_t pid, if_name_t if_name,
mach_port_t notify_port,
mach_port_t * session_port,
CFDictionaryRef * control_dict,
mach_port_t * bootstrap);
int
ControllerClientDetach(mach_port_t session_port);
int
ControllerClientGetConfig(mach_port_t session_port,
CFDictionaryRef * control_dict);
int
ControllerClientReportStatus(mach_port_t session_port,
CFDictionaryRef status_dict);
int
ControllerClientForceRenew(mach_port_t session_port);
int
ControllerClientPortDead(mach_port_t session_port);
#endif _S_CONTROLLER_H