linking to dll's [unofficial]

Miscellaneous Forums/Win32 Discussion/linking to dll's [unofficial]

The forum is locked. These are the original blitzbasic.com forums, kept so they can still be read. No new topics, replies or edits can be made here. To join in, head over to the Blitz3D+ forums.

Riot - yeah, err, i do too. That doesnt mean you dont have to set your mingw enviornment paths.

Oh, and the dll comes with a .def file thats alot different from the one produced by pexports:

.def file that comes with it:
LIBRARY   P5DLL
DESCRIPTION "P5 Absolute Mode Driver"
EXPORTS
	??0CP5DLL@@QAE@XZ @1
	P5_Close @22
	P5_Init @23
	P5_SetClickSensitivity @24
	P5_GetClickSensitivity @25
	P5_SaveBendSensors @26
	P5_CalibrateBendSensors @27
	P5_CalibratePositionData @28
	P5_GetMouseState @29
	P5_SetMouseState @30
	P5_SetMouseStickTime @31
	P5_GetMouseStickTime @32
	P5_GetMouseButtonAllocation @33
	P5_SetMouseButtonAllocation @34
	P5_GetLastError @35
    P5_GetCount @36
    P5_GetDataPointer @37
    P5_GetStatePointer @38
    P5_GetInfoPointer @39
    P5_GetCP5DLL @40
    P5_GetCP5 @41
    P5_GetPrivatePointer @42
	Java_com_essentialreality_CP5DLL_00024P5State_update @43
	Java_com_essentialreality_CP5DLL_P5_1Close @44
	Java_com_essentialreality_CP5DLL_P5_1Doit @45
	Java_com_essentialreality_CP5DLL_P5_1SetClickSensitivity @46
	Java_com_essentialreality_CP5DLL_P5_1GetClickSensitivity @47
	Java_com_essentialreality_CP5DLL_P5_1SaveBendSensors @48
	Java_com_essentialreality_CP5DLL_P5_1CalibrateBendSensors @49
	Java_com_essentialreality_CP5DLL_P5_1CalibratePositionData @50
	Java_com_essentialreality_CP5DLL_P5_1GetMouseState @51
	Java_com_essentialreality_CP5DLL_P5_1SetMouseState @52
	Java_com_essentialreality_CP5DLL_P5_1SetMouseStickTime @53
	Java_com_essentialreality_CP5DLL_P5_1GetMouseStickTime @54
	Java_com_essentialreality_CP5DLL_P5_1GetMouseButtonAllocation @55
	Java_com_essentialreality_CP5DLL_P5_1SetMouseButtonAllocation @56
	Java_com_essentialreality_CP5DLL_P5_1GetLastError @57

    Java_com_essentialreality_CP5DLL_00024P5Data_update @58
    Java_com_essentialreality_CP5DLL_00024P5Data_updateFull @59
	Java_com_essentialreality_CP5DLL_00024P5Info_update @60

	P5_GetACAdaptorStatus @61

	P5_GetBendCalibration @62
	P5_GetRawFingerBends @63

	P5_GetCalibrationData @64

	P5_SetUnits @65
	P5_SetForwardZ @66

	P5_SetTowerPos @67
	P5_SetTowerRotMat @68
	P5_TiltTowerForward @69
	P5_SpinTowerRight @70
	P5_TiltTowerRight @71
	P5_SetSensitivity @72

	P5_SetLedPos @73
	P5_SetGlovePos @74
	P5_SetGloveRotMat @75
	P5_PitchGlove @76
	P5_YawGlove @77
	P5_RollGlove @78


	P5_SetInterfaceMode @79
	P5_SetFilterMode @80
	P5_SetFilterAmount @81
	P5_ClearArchive @82
	P5_SetRequiredAccuracy @83
	P5_SetPrediction @84

	P5_RestoreMouse @85
	P5_UnRestoreMouse @86


	P5_SetFeature @87
	P5_SetFeatureReport @88
	P5_GetFeature @89
	P5_GetFeatureReport @90

	P5_GetData @91
	P5_GetState @92
	P5_GetInfo @93

	P5_GetAbsolutePos @94
	P5_GetRelativePos @95
	P5_GetRelativeAvgPos @96
	P5_GetRotation @97
	P5_GetFingerBends @98
	P5_GetButtons @99
	P5_GetThreadStatus @100

	Java_com_essentialreality_CP5DLL_P5_1GetACAdaptorStatus @101
	Java_com_essentialreality_CP5DLL_P5_1SetUnits @102
	Java_com_essentialreality_CP5DLL_P5_1SetForwardZ @103
	Java_com_essentialreality_CP5DLL_P5_1SetTowerPos @104
	Java_com_essentialreality_CP5DLL_P5_1TiltTowerForward @105
	Java_com_essentialreality_CP5DLL_P5_1SpinTowerRight @106
	Java_com_essentialreality_CP5DLL_P5_1TiltTowerRight @107
	Java_com_essentialreality_CP5DLL_P5_1SetSensitivity @108
	Java_com_essentialreality_CP5DLL_P5_1SetLedPos @109
	Java_com_essentialreality_CP5DLL_P5_1SetGlovePos @110
	Java_com_essentialreality_CP5DLL_P5_1PitchGlove @111
	Java_com_essentialreality_CP5DLL_P5_1YawGlove @112
	Java_com_essentialreality_CP5DLL_P5_1RollGlove @113
	Java_com_essentialreality_CP5DLL_P5_1SetInterfaceMode @114
	Java_com_essentialreality_CP5DLL_P5_1SetFilterMode @115
	Java_com_essentialreality_CP5DLL_P5_1SetFilterAmount @116
	Java_com_essentialreality_CP5DLL_P5_1ClearArchive @117
	Java_com_essentialreality_CP5DLL_P5_1SetRequiredAccuracy @118
	Java_com_essentialreality_CP5DLL_P5_1SetPrediction @119
	Java_com_essentialreality_CP5DLL_P5_1RestoreMouse @120
	Java_com_essentialreality_CP5DLL_P5_1UnRestoreMouse @121

    P5_SetTrackerUnwarp @122
	P5_GetTrackerUnwarp @123


Def file produced:
LIBRARY P5DLL.dll
EXPORTS
??0CP5DLL@@QAE@XZ
??1CP5DLL@@QAE@XZ
??4CEnumerator@@QAEAAV0@ABV0@@Z
??4CP5DLL@@QAEAAV0@ABV0@@Z
?CloseHidDevice@CEnumerator@@QAEXPAU_HID_DEVICE@@@Z
?FindHidDevice@CEnumerator@@QAE_NPAPAU_HID_DEVICE@@PAK@Z
?OpenHidDevice@CEnumerator@@AAEEPAXPAU_SP_DEVICE_INTERFACE_DATA@@PAU_HID_DEVICE@@@Z
?P5_CalibrateBendSensors@CP5DLL@@QAEXH@Z
?P5_CalibratePositionData@CP5DLL@@QAEXH@Z
?P5_Close@CP5DLL@@QAEXXZ
?P5_GetClickSensitivity@CP5DLL@@QAEXHPAH00@Z
?P5_GetLastError@CP5DLL@@QAEIPAH0@Z
?P5_GetMouseButtonAllocation@CP5DLL@@QAEXHPAH00@Z
?P5_GetMouseState@CP5DLL@@QAEIH@Z
?P5_GetMouseStickTime@CP5DLL@@QAEHH@Z
?P5_Init@CP5DLL@@QAEIXZ
?P5_SaveBendSensors@CP5DLL@@QAEXH@Z
?P5_SetClickSensitivity@CP5DLL@@QAEXHEEE@Z
?P5_SetMouseButtonAllocation@CP5DLL@@QAEXHHHH@Z
?P5_SetMouseState@CP5DLL@@QAEXHI@Z
?P5_SetMouseStickTime@CP5DLL@@QAEXHE@Z
Java_com_essentialreality_CP5DLL_00024P5Data_update
Java_com_essentialreality_CP5DLL_00024P5Data_updateFull
Java_com_essentialreality_CP5DLL_00024P5Info_update
Java_com_essentialreality_CP5DLL_00024P5State_update
Java_com_essentialreality_CP5DLL_P5_1CalibrateBendSensors
Java_com_essentialreality_CP5DLL_P5_1CalibratePositionData
Java_com_essentialreality_CP5DLL_P5_1ClearArchive
Java_com_essentialreality_CP5DLL_P5_1Close
Java_com_essentialreality_CP5DLL_P5_1Doit
Java_com_essentialreality_CP5DLL_P5_1GetACAdaptorStatus
Java_com_essentialreality_CP5DLL_P5_1GetClickSensitivity
Java_com_essentialreality_CP5DLL_P5_1GetLastError
Java_com_essentialreality_CP5DLL_P5_1GetMouseButtonAllocation
Java_com_essentialreality_CP5DLL_P5_1GetMouseState
Java_com_essentialreality_CP5DLL_P5_1GetMouseStickTime
Java_com_essentialreality_CP5DLL_P5_1PitchGlove
Java_com_essentialreality_CP5DLL_P5_1RestoreMouse
Java_com_essentialreality_CP5DLL_P5_1RollGlove
Java_com_essentialreality_CP5DLL_P5_1SaveBendSensors
Java_com_essentialreality_CP5DLL_P5_1SetClickSensitivity
Java_com_essentialreality_CP5DLL_P5_1SetFilterAmount
Java_com_essentialreality_CP5DLL_P5_1SetFilterMode
Java_com_essentialreality_CP5DLL_P5_1SetForwardZ
Java_com_essentialreality_CP5DLL_P5_1SetGlovePos
Java_com_essentialreality_CP5DLL_P5_1SetInterfaceMode
Java_com_essentialreality_CP5DLL_P5_1SetLedPos
Java_com_essentialreality_CP5DLL_P5_1SetMouseButtonAllocation
Java_com_essentialreality_CP5DLL_P5_1SetMouseState
Java_com_essentialreality_CP5DLL_P5_1SetMouseStickTime
Java_com_essentialreality_CP5DLL_P5_1SetPrediction
Java_com_essentialreality_CP5DLL_P5_1SetRequiredAccuracy
Java_com_essentialreality_CP5DLL_P5_1SetSensitivity
Java_com_essentialreality_CP5DLL_P5_1SetTowerPos
Java_com_essentialreality_CP5DLL_P5_1SetUnits
Java_com_essentialreality_CP5DLL_P5_1SpinTowerRight
Java_com_essentialreality_CP5DLL_P5_1TiltTowerForward
Java_com_essentialreality_CP5DLL_P5_1TiltTowerRight
Java_com_essentialreality_CP5DLL_P5_1UnRestoreMouse
Java_com_essentialreality_CP5DLL_P5_1YawGlove
P5_CalibrateBendSensors
P5_CalibratePositionData
P5_ClearArchive
P5_Close
P5_GetACAdaptorStatus
P5_GetAbsolutePos
P5_GetBendCalibration
P5_GetButtons
P5_GetCP5
P5_GetCP5DLL
P5_GetCalibrationData
P5_GetClickSensitivity
P5_GetCount
P5_GetData
P5_GetDataPointer
P5_GetFeature
P5_GetFeatureReport
P5_GetFingerBends
P5_GetInfo
P5_GetInfoPointer
P5_GetLastError
P5_GetMouseButtonAllocation
P5_GetMouseState
P5_GetMouseStickTime
P5_GetPrivatePointer
P5_GetRawFingerBends
P5_GetRelativeAvgPos
P5_GetRelativePos
P5_GetRotation
P5_GetState
P5_GetStatePointer
P5_GetThreadStatus
P5_GetTrackerUnwarp
P5_Init
P5_PitchGlove
P5_RestoreMouse
P5_RollGlove
P5_SaveBendSensors
P5_SetClickSensitivity
P5_SetFeature
P5_SetFeatureReport
P5_SetFilterAmount
P5_SetFilterMode
P5_SetForwardZ
P5_SetGlovePos
P5_SetGloveRotMat
P5_SetInterfaceMode
P5_SetLedPos
P5_SetMouseButtonAllocation
P5_SetMouseState
P5_SetMouseStickTime
P5_SetPrediction
P5_SetRequiredAccuracy
P5_SetSensitivity
P5_SetTowerPos
P5_SetTowerRotMat
P5_SetTrackerUnwarp
P5_SetUnits
P5_SpinTowerRight
P5_TiltTowerForward
P5_TiltTowerRight
P5_UnRestoreMouse
P5_YawGlove


Not sure which ones right.

Oh, and for reference,

p5.d.i produced by blitzmax
import brl.blitz
P5HEAD_SEPARATION#=51.2#
P5_THUMB=0
P5_INDEX=1
P5_MIDDLE=2
P5_RING=3
P5_PINKY=4
P5_FILTER_NONE=0
P5_FILTER_DEADBAND=1
P5_FILTER_AVERAGE=2
P5_FILTER_DEADBEND=1
P5ERROR_NONE=0
P5ERROR_NOP5DETECTED=1
P5ERROR_P5DISCONNECTED=2
P5ERROR_P5CONNECTED=3
P5ERROR_INVALID_P5ID=4
P5ERROR_INVALID_P5GLOVETYPE=5
P5ERROR_WRONGFIRMWAREVER=6
P5ERROR_EXCEPTION=7
P5ERROR_GETTIME=8
P5ERROR_PARSEBEND=9
P5ERROR_PARSEBUTTONS=10
P5ERROR_PARSELEDNUM=11
P5ERROR_PARSELED=12
P5ERROR_UNWARP=13
P5ERROR_PROCESS=14
P5ERROR_PROCESSROTATION=15
P5ERROR_PROCESSRELATIVEPOSITION=16
P5ERROR_PROCESSRELATIVEAVGPOSITION=17
P5ERROR_PROCESSROTATIONREAL=18
P5ERROR_PROCESSABSOLUTEPOSITION=19
P5ERROR_PROCESSLEDPOSITIONS=20
P5ERROR_INTERNAL=21
P5GLOVETYPE_RIGHTHAND=0
P5GLOVETYPE_LEFTHAND=1
P5GLOVEBACKWARDS_NOT=0
P5GLOVEBACKWARDS_THUMBLITTLE=1
P5GLOVEBACKWARDS_NOTHUMB=2
P5GLOVEBACKWARDS_UPSIDEDOWN=3
P5GLOVEBACKWARDS_DONTWORRY=4
P5_UNITS=1
P5_CM#=0.0496094#
P5_MM#=0.496094#
P5_INCHES#=0.0195313#
P5_FEET#=0.0016276#
P5_M#=0.000496094#
P5_KM#=4.96094e-007#
P5_SECONDS#=1#
P5_MINUTES#=0.0166667#
P5_HOURS#=0.000277778#
P5_FRAME#=0.0239808#
P5_KPH#=0.00178594#
P5_MPS#=0.000496094#
P5_MPSPS#=0.000496094#
P5_DEGREES#=1#
P5_RADIANS#=0.0174533#
P5_REVOLUTIONS#=0.00277778#
P5MODE_RELATIVE=0
P5MODE_ABSOLUTE=1
P5MODE_RELATIVEAVG=2
P5MODE_FILTERED=3
P5MODE_LED0=4
P5MODE_LED1=5
P5MODE_LED2=6
P5MODE_LED3=7
P5MODE_LED4=8
P5MODE_LED5=9
P5MODE_LED6=10
P5MODE_LED7=11
P5MODE_LED8=12
P5MODE_LED9=13
P5MODE_LEDBRIGHT=14
P5MODE_LEDBEST=15
P5MODE_ORIGINAL_PYR=0
P5MODE_BETTER_PYR=2560
P5MODE_BETTER_YPR=2816
P5MODE_BETTER_RYP=3072
P5MODE_BETTER_RPY=3328
P5MODE_BETTER_YRP=3584
P5MODE_BETTER_PRY=3840
P5MODE_BETTER_MIX=4096
P5MODE_FILTERED_PYR=5120
P5MODE_FILTERED_YPR=5376
P5MODE_FILTERED_RYP=5632
P5MODE_FILTERED_RPY=5888
P5MODE_FILTERED_YRP=3584
P5MODE_FILTERED_PRY=3840
P5MODE_FILTERED_MIX=6144
P5_Close()S="P5_Close@0"
P5_Init@()S="P5_Init@0"
P5_SetClickSensitivity(P5Id%%,leftvalue@,rightvalue@,middlevalue@)S="P5_SetClickSensitivity@20"
P5_GetClickSensitivity(P5Id%%,leftclick%%*,rightclick%%*,middleclick%%*)S="P5_GetClickSensitivity@20"
P5_SaveBendSensors(P5Id%%=-1)S="P5_SaveBendSensors@8"
P5_CalibrateBendSensors(P5Id%%=-1)S="P5_CalibrateBendSensors@8"
P5_CalibratePositionData(P5Id%%=-1)S="P5_CalibratePositionData@8"
P5_GetMouseState@(P5Id%%=0)S="P5_GetMouseState@8"
P5_SetMouseState(P5Id%%,state%%)S="P5_SetMouseState@16"
P5_SetMouseStickTime(P5Id%%,time@)S="P5_SetMouseStickTime@12"
P5_GetMouseStickTime%%(P5Id%%=0)S="P5_GetMouseStickTime@8"
P5_GetMouseButtonAllocation(P5Id%%,leftclick%%*,rightclick%%*,middleclick%%*)S="P5_GetMouseButtonAllocation@20"
P5_SetMouseButtonAllocation(P5Id%%,leftclickfinger%%,rightclickfinger%%,middleclickfinger%%)S="P5_SetMouseButtonAllocation@32"
P5_GetLastError@(P5Id%%*,ErrorCode%%*)S="P5_GetLastError@8"
P5_GetCount%%()S="P5_GetCount@0"
P5_GetACAdaptorStatus%%(P5Id%%=0)S="P5_GetACAdaptorStatus@8"
P5_GetBendCalibration(P5Id%%,ThumbStraight%%*,ThumbBent%%*,IndexStraight%%*,IndexBent%%*,MiddleStraight%%*,MiddleBent%%*,RingStraight%%*,RingBent%%*,PinkyStraight%%*,PinkyBent%%*)S="P5_GetBendCalibration@48"
P5_GetRawFingerBends(P5Id%%,thumb%%*,index%%*,middle%%*,ring%%*,pinky%%*)S="P5_GetRawFingerBends@28"
P5_SetUnits(units#=1#)S="P5_SetUnits@4"
P5_SetForwardZ(z%%=1)S="P5_SetForwardZ@8"
P5_SetTowerPos(P5Id%%,x#,y#,z#)S="P5_SetTowerPos@20"
P5_TiltTowerForward(P5Id%%,degrees#)S="P5_TiltTowerForward@12"
P5_SplongowerRight(P5Id%%,degrees#)S="P5_SplongowerRight@12"
P5_TiltTowerRight(P5Id%%,degrees#)S="P5_TiltTowerRight@12"
P5_SetSensitivity(P5Id%%,multiplier#)S="P5_SetSensitivity@12"
P5_SetLedPos(P5Id%%,led%%,x#,y#,z#)S="P5_SetLedPos@28"
P5_SetGlovePos(P5Id%%,x#,y#,z#)S="P5_SetGlovePos@20"
P5_PitchGlove(P5Id%%,theta#)S="P5_PitchGlove@12"
P5_YawGlove(P5Id%%,theta#)S="P5_YawGlove@12"
P5_RollGlove(P5Id%%,theta#)S="P5_RollGlove@12"
P5_SetInterfaceMode(mode%%)S="P5_SetInterfaceMode@8"
P5_SetFilterMode(filters%%)S="P5_SetFilterMode@8"
P5_SetFilterAmount(ExtraFrames%%,DeadDistance#)S="P5_SetFilterAmount@12"
P5_ClearArchive(P5Id%%=-1)S="P5_ClearArchive@8"
P5_SetRequiredAccuracy(accuracy#=10#)S="P5_SetRequiredAccuracy@4"
P5_SetPrediction(prediction%%=1)S="P5_SetPrediction@8"
P5_RestoreMouse(P5Id%%=-1)S="P5_RestoreMouse@8"
P5_UnRestoreMouse(P5Id%%=-1)S="P5_UnRestoreMouse@8"
P5_GetAbsolutePos(P5Id%%,x#*,y#*,z#*)S="P5_GetAbsolutePos@20"
P5_GetRelativePos(P5Id%%,x#*,y#*,z#*)S="P5_GetRelativePos@20"
P5_GetRelativeAvgPos(P5Id%%,x#*,y#*,z#*)S="P5_GetRelativeAvgPos@20"
P5_GetRotation(P5Id%%,yaw#*,pitch#*,roll#*)S="P5_GetRotation@20"
P5_GetFingerBends(P5Id%%,thumb#*,index#*,middle#*,ring#*,pinky#*)S="P5_GetFingerBends@28"
P5_GetButtons(P5Id%%,A#*,B#*,C#*,D#*)S="P5_GetButtons@24"
P5_GetThreadStatus@(P5Id%%)S="P5_GetThreadStatus@8"


The p5.d.a file has a few references to __bb_p5_p5.