#ifndef _IOKIT_HID_IOHIDLIBPRIVATE_H
#define _IOKIT_HID_IOHIDLIBPRIVATE_H
#include <IOKit/hid/IOHIDLib.h>
#include <IOKit/hid/IOHIDDevicePlugIn.h>
#include <IOKit/hid/IOHIDLibUserClient.h>
#include <Availability.h>
__BEGIN_DECLS
typedef struct _IOHIDCalibrationStruct {
CFIndex satMin;
CFIndex satMax;
CFIndex dzMin;
CFIndex dzMax;
CFIndex min;
CFIndex max;
double_t gran;
} IOHIDCalibrationInfo;
typedef struct _IOHIDCallbackApplierContext {
IOReturn result;
void * sender;
} IOHIDCallbackApplierContext;
extern void _IOObjectCFRelease(CFAllocatorRef allocator, const void * value);
extern const void * _IOObjectCFRetain(CFAllocatorRef allocator, const void *value);
CF_EXPORT
IOHIDElementRef _IOHIDElementCreateWithParentAndData(CFAllocatorRef allocator, IOHIDElementRef parent, CFDataRef dataStore, IOHIDElementStruct * elementStruct, uint32_t index);
CF_EXPORT
void _IOHIDElementSetDevice(IOHIDElementRef element, IOHIDDeviceRef device);
CF_EXPORT
void _IOHIDElementSetDeviceInterface(IOHIDElementRef element, IOHIDDeviceDeviceInterface ** interface);
CF_EXPORT
uint32_t _IOHIDElementGetFlags(IOHIDElementRef element);
CF_EXPORT
CFIndex _IOHIDElementGetLength(IOHIDElementRef element);
CF_EXPORT
IOHIDValueRef _IOHIDElementGetValue(IOHIDElementRef element);
CF_EXPORT
IOHIDCalibrationInfo * _IOHIDElementGetCalibrationInfo(IOHIDElementRef element);
CF_EXPORT
void _IOHIDElementSetValue(IOHIDElementRef element, IOHIDValueRef value);
CF_EXPORT
IOHIDValueRef _IOHIDValueCreateWithStruct(CFAllocatorRef allocator, IOHIDElementRef element, IOHIDEventStruct * pEventStruct);
CF_EXPORT
IOHIDValueRef _IOHIDValueCreateWithElementValuePtr(CFAllocatorRef allocator, IOHIDElementRef element, IOHIDElementValue * pEventValue);
CF_EXPORT
void _IOHIDValueCopyToElementValuePtr(IOHIDValueRef value, IOHIDElementValue * pElementValue);
CF_EXPORT
IOCFPlugInInterface ** _IOHIDDeviceGetIOCFPlugInInterface(
IOHIDDeviceRef device);
CF_EXPORT
CFArrayRef _IOHIDQueueCopyElements(IOHIDQueueRef queue);
CF_EXPORT
void _IOHIDCallbackApplier(const void *callback, const void *callbackContext, void *applierContext);
CF_EXPORT
void _IOHIDLog(int level, const char *format, ...) __printflike(2, 3);
CF_EXPORT
kern_return_t IOHIDSetFixedMouseLocation(io_connect_t connect,
int32_t x, int32_t y) AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER;
__END_DECLS
#endif