aboutsummaryrefslogtreecommitdiffstats
path: root/dvb-t/auto-Australia
blob: 393ac7f49729007d3629ce10c0ccc540f3167e51 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
# for ($freq = 177500000; $freq <= 226500000; $freq += 7000000) {
# 	print "T $freq 7MHz AUTO NONE AUTO AUTO AUTO NONE\n";
# 	print "T ", $freq + 125000, " 7MHz AUTO NONE AUTO AUTO AUTO NONE\n";
# }
# for ($freq = 529500000; $freq <= 816500000; $freq += 7000000) {
# 	print "T $freq 7MHz AUTO NONE AUTO AUTO AUTO NONE\n";
# 	print "T ", $freq + 125000, " 7MHz AUTO NONE AUTO AUTO AUTO NONE\n";
# }
#
# T freq bw fec_hi fec_lo mod transmission-mode guard-interval hierarchy
T 177500000 7MHz AUTO NONE AUTO AUTO AUTO NONE
T 177625000 7MHz AUTO NONE AUTO AUTO AUTO NONE
T 184500000 7MHz AUTO NONE AUTO AUTO AUTO NONE
T 184625000 7MHz AUTO NONE AUTO AUTO AUTO NONE
T 191500000 7MHz AUTO NONE AUTO AUTO AUTO NONE
T 191625000 7MHz AUTO NONE AUTO AUTO AUTO NONE
T 198500000 7MHz AUTO NONE AUTO AUTO AUTO NONE
T 198625000 7MHz AUTO NONE AUTO AUTO AUTO NONE
T 205500000 7MHz AUTO NONE AUTO AUTO AUTO NONE
T 205625000 7MHz AUTO NONE AUTO AUTO AUTO NONE
T 212500000 7MHz AUTO NONE AUTO AUTO AUTO NONE
T 212625000 7MHz AUTO NONE AUTO AUTO AUTO NONE
T 219500000 7MHz AUTO NONE AUTO AUTO AUTO NONE
T 219625000 7MHz AUTO NONE AUTO AUTO AUTO NONE
T 226500000 7MHz AUTO NONE AUTO AUTO AUTO NONE
T 226625000 7MHz AUTO NONE AUTO AUTO AUTO NONE
T 529500000 7MHz AUTO NONE AUTO AUTO AUTO NONE
T 529625000 7MHz AUTO NONE AUTO AUTO AUTO NONE
T 536500000 7MHz AUTO NONE AUTO AUTO AUTO NONE
T 536625000 7MHz AUTO NONE AUTO AUTO AUTO NONE
T 543500000 7MHz AUTO NONE AUTO AUTO AUTO NONE
T 543625000 7MHz AUTO NONE AUTO AUTO AUTO NONE
T 550500000 7MHz AUTO NONE AUTO AUTO AUTO NONE
T 550625000 7MHz AUTO NONE AUTO AUTO AUTO NONE
T 557500000 7MHz AUTO NONE AUTO AUTO AUTO NONE
T 557625000 7MHz AUTO NONE AUTO AUTO AUTO NONE
T 564500000 7MHz AUTO NONE AUTO AUTO AUTO NONE
T 564625000 7MHz AUTO NONE AUTO AUTO AUTO NONE
T 571500000 7MHz AUTO NONE AUTO AUTO AUTO NONE
T 571625000 7MHz AUTO NONE AUTO AUTO AUTO NONE
T 578500000 7MHz AUTO NONE AUTO AUTO AUTO NONE
T 578625000 7MHz AUTO NONE AUTO AUTO AUTO NONE
T 585500000 7MHz AUTO NONE AUTO AUTO AUTO NONE
T 585625000 7MHz AUTO NONE AUTO AUTO AUTO NONE
T 592500000 7MHz AUTO NONE AUTO AUTO AUTO NONE
T 592625000 7MHz AUTO NONE AUTO AUTO AUTO NONE
T 599500000 7MHz AUTO NONE AUTO AUTO AUTO NONE
T 599625000 7MHz AUTO NONE AUTO AUTO AUTO NONE
T 606500000 7MHz AUTO NONE AUTO AUTO AUTO NONE
T 606625000 7MHz AUTO NONE AUTO AUTO AUTO NONE
T 613500000 7MHz AUTO NONE AUTO AUTO AUTO NONE
T 613625000 7MHz AUTO NONE AUTO AUTO AUTO NONE
T 620500000 7MHz AUTO NONE AUTO AUTO AUTO NONE
T 620625000 7MHz AUTO NONE AUTO AUTO AUTO NONE
T 627500000 7MHz AUTO NONE AUTO AUTO AUTO NONE
T 627625000 7MHz AUTO NONE AUTO AUTO AUTO NONE
T 634500000 7MHz AUTO NONE AUTO AUTO AUTO NONE
T 634625000 7MHz AUTO NONE AUTO AUTO AUTO NONE
T 641500000 7MHz AUTO NONE AUTO AUTO AUTO NONE
T 641625000 7MHz AUTO NONE AUTO AUTO AUTO NONE
T 648500000 7MHz AUTO NONE AUTO AUTO AUTO NONE
T 648625000 7MHz AUTO NONE AUTO AUTO AUTO NONE
T 655500000 7MHz AUTO NONE AUTO AUTO AUTO NONE
T 655625000 7MHz AUTO NONE AUTO AUTO AUTO NONE
T 662500000 7MHz AUTO NONE AUTO AUTO AUTO NONE
T 662625000 7MHz AUTO NONE AUTO AUTO AUTO NONE
T 669500000 7MHz AUTO NONE AUTO AUTO AUTO NONE
T 669625000 7MHz AUTO NONE AUTO AUTO AUTO NONE
T 676500000 7MHz AUTO NONE AUTO AUTO AUTO NONE
T 676625000 7MHz AUTO NONE AUTO AUTO AUTO NONE
T 683500000 7MHz AUTO NONE AUTO AUTO AUTO NONE
T 683625000 7MHz AUTO NONE AUTO AUTO AUTO NONE
T 690500000 7MHz AUTO NONE AUTO AUTO AUTO NONE
T 690625000 7MHz AUTO NONE AUTO AUTO AUTO NONE
T 697500000 7MHz AUTO NONE AUTO AUTO AUTO NONE
T 697625000 7MHz AUTO NONE AUTO AUTO AUTO NONE
T 704500000 7MHz AUTO NONE AUTO AUTO AUTO NONE
T 704625000 7MHz AUTO NONE AUTO AUTO AUTO NONE
T 711500000 7MHz AUTO NONE AUTO AUTO AUTO NONE
T 711625000 7MHz AUTO NONE AUTO AUTO AUTO NONE
T 718500000 7MHz AUTO NONE AUTO AUTO AUTO NONE
T 718625000 7MHz AUTO NONE AUTO AUTO AUTO NONE
T 725500000 7MHz AUTO NONE AUTO AUTO AUTO NONE
T 725625000 7MHz AUTO NONE AUTO AUTO AUTO NONE
T 732500000 7MHz AUTO NONE AUTO AUTO AUTO NONE
T 732625000 7MHz AUTO NONE AUTO AUTO AUTO NONE
T 739500000 7MHz AUTO NONE AUTO AUTO AUTO NONE
T 739625000 7MHz AUTO NONE AUTO AUTO AUTO NONE
T 746500000 7MHz AUTO NONE AUTO AUTO AUTO NONE
T 746625000 7MHz AUTO NONE AUTO AUTO AUTO NONE
T 753500000 7MHz AUTO NONE AUTO AUTO AUTO NONE
T 753625000 7MHz AUTO NONE AUTO AUTO AUTO NONE
T 760500000 7MHz AUTO NONE AUTO AUTO AUTO NONE
T 760625000 7MHz AUTO NONE AUTO AUTO AUTO NONE
T 767500000 7MHz AUTO NONE AUTO AUTO AUTO NONE
T 767625000 7MHz AUTO NONE AUTO AUTO AUTO NONE
T 774500000 7MHz AUTO NONE AUTO AUTO AUTO NONE
T 774625000 7MHz AUTO NONE AUTO AUTO AUTO NONE
T 781500000 7MHz AUTO NONE AUTO AUTO AUTO NONE
T 781625000 7MHz AUTO NONE AUTO AUTO AUTO NONE
T 788500000 7MHz AUTO NONE AUTO AUTO AUTO NONE
T 788625000 7MHz AUTO NONE AUTO AUTO AUTO NONE
T 795500000 7MHz AUTO NONE AUTO AUTO AUTO NONE
T 795625000 7MHz AUTO NONE AUTO AUTO AUTO NONE
T 802500000 7MHz AUTO NONE AUTO AUTO AUTO NONE
T 802625000 7MHz AUTO NONE AUTO AUTO AUTO NONE
T 809500000 7MHz AUTO NONE AUTO AUTO AUTO NONE
T 809625000 7MHz AUTO NONE AUTO AUTO AUTO NONE
T 816500000 7MHz AUTO NONE AUTO AUTO AUTO NONE
T 816625000 7MHz AUTO NONE AUTO AUTO AUTO NONE
d='n421' href='#n421'>421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861
#ifdef __cplusplus
extern "C" {
#endif
 
#if defined(__stdcall)  
 #define CCONV __stdcall  	
#else 
 #if defined(__BORLANDC__) || defined(_MSC_VER) 
  #define CCONV __stdcall  
 #else 
  #define CCONV 
 #endif 
#endif 
 
#if !defined(__int64) 
#if !defined(__BORLANDC__) && !defined(_MSC_VER) 
typedef long long __int64; 
#endif 
#endif

 
typedef struct _CPhidget *CPhidgetHandle;
typedef struct _CPhidget_Timestamp {
 int seconds;
 int microseconds;
} CPhidget_Timestamp, *CPhidget_TimestampHandle;
typedef enum {
 PHIDCLASS_ACCELEROMETER = 2,
 PHIDCLASS_ADVANCEDSERVO = 3,
 PHIDCLASS_ANALOG = 22,
 PHIDCLASS_BRIDGE = 23,
 PHIDCLASS_ENCODER = 4,
 PHIDCLASS_FREQUENCYCOUNTER = 21,
 PHIDCLASS_GPS = 5,
 PHIDCLASS_INTERFACEKIT = 7,
 PHIDCLASS_IR = 19,
 PHIDCLASS_LED = 8,
 PHIDCLASS_MOTORCONTROL = 9,
 PHIDCLASS_PHSENSOR = 10,
 PHIDCLASS_RFID = 11,
 PHIDCLASS_SERVO = 12,
 PHIDCLASS_SPATIAL = 20,
 PHIDCLASS_STEPPER = 13,
 PHIDCLASS_TEMPERATURESENSOR = 14,
 PHIDCLASS_TEXTLCD = 15,
 PHIDCLASS_TEXTLED = 16,
 PHIDCLASS_WEIGHTSENSOR = 17,
} CPhidget_DeviceClass;
typedef enum {
 PHIDID_ACCELEROMETER_3AXIS = 0x07E,
 PHIDID_ADVANCEDSERVO_1MOTOR = 0x082,
 PHIDID_ADVANCEDSERVO_8MOTOR = 0x03A,
 PHIDID_ANALOG_4OUTPUT = 0x037,
 PHIDID_BIPOLAR_STEPPER_1MOTOR = 0x07B,
 PHIDID_BRIDGE_4INPUT = 0x03B,
 PHIDID_ENCODER_1ENCODER_1INPUT = 0x04B,
 PHIDID_ENCODER_HS_1ENCODER = 0x080,
 PHIDID_ENCODER_HS_4ENCODER_4INPUT = 0x04F,
 PHIDID_FREQUENCYCOUNTER_2INPUT = 0x035,
 PHIDID_GPS = 0x079,
 PHIDID_INTERFACEKIT_0_0_4 = 0x040,
 PHIDID_INTERFACEKIT_0_0_8 = 0x081,
 PHIDID_INTERFACEKIT_0_16_16 = 0x044,
 PHIDID_INTERFACEKIT_2_2_2 = 0x036,
 PHIDID_INTERFACEKIT_8_8_8 = 0x045,
 PHIDID_INTERFACEKIT_8_8_8_w_LCD = 0x07D,
 PHIDID_IR = 0x04D,
 PHIDID_LED_64_ADV = 0x04C,
 PHIDID_LINEAR_TOUCH = 0x076,
 PHIDID_MOTORCONTROL_1MOTOR = 0x03E,
 PHIDID_MOTORCONTROL_HC_2MOTOR = 0x059,
 PHIDID_RFID_2OUTPUT = 0x031,
 PHIDID_ROTARY_TOUCH = 0x077,
 PHIDID_SPATIAL_ACCEL_3AXIS = 0x07F,
 PHIDID_SPATIAL_ACCEL_GYRO_COMPASS = 0x033,
 PHIDID_TEMPERATURESENSOR = 0x070,
 PHIDID_TEMPERATURESENSOR_4 = 0x032,
 PHIDID_TEMPERATURESENSOR_IR = 0x03C,
 PHIDID_TEXTLCD_2x20_w_8_8_8 = 0x17D,
 PHIDID_TEXTLCD_ADAPTER = 0x03D,
 PHIDID_UNIPOLAR_STEPPER_4MOTOR = 0x07A,
 PHIDID_ACCELEROMETER_2AXIS = 0x071,
 PHIDID_INTERFACEKIT_0_8_8_w_LCD = 0x053,
 PHIDID_INTERFACEKIT_4_8_8 = 4,
 PHIDID_LED_64 = 0x04A,
 PHIDID_MOTORCONTROL_LV_2MOTOR_4INPUT = 0x058,
 PHIDID_PHSENSOR = 0x074,
 PHIDID_RFID = 0x030,
 PHIDID_SERVO_1MOTOR = 0x039,
 PHIDID_SERVO_1MOTOR_OLD = 2,
 PHIDID_SERVO_4MOTOR = 0x038,
 PHIDID_SERVO_4MOTOR_OLD = 3,
 PHIDID_TEXTLCD_2x20 = 0x052,
 PHIDID_TEXTLCD_2x20_w_0_8_8 = 0x153,
 PHIDID_TEXTLED_1x8 = 0x049,
 PHIDID_TEXTLED_4x8 = 0x048,
 PHIDID_WEIGHTSENSOR = 0x072,
 PHIDID_FIRMWARE_UPGRADE = 0x098,
} CPhidget_DeviceID;
typedef enum {
 PHIDUID_NOTHING =1,
 PHIDUID_ACCELEROMETER_2AXIS_2G,
 PHIDUID_ACCELEROMETER_2AXIS_10G,
 PHIDUID_ACCELEROMETER_2AXIS_5G,
 PHIDUID_ACCELEROMETER_3AXIS_3G,
 PHIDUID_ADVANCEDSERVO_1MOTOR,
 PHIDUID_ADVANCEDSERVO_8MOTOR,
 PHIDUID_ADVANCEDSERVO_8MOTOR_PGOOD_FLAG,
 PHIDUID_ADVANCEDSERVO_8MOTOR_CURSENSE_FIX,
 PHIDUID_ANALOG_4OUTPUT,
 PHIDUID_BRIDGE_4INPUT,
 PHIDUID_ENCODER_1ENCODER_1INPUT_OLD,
 PHIDUID_ENCODER_1ENCODER_1INPUT_v1,
 PHIDUID_ENCODER_1ENCODER_1INPUT_v2,
 PHIDUID_ENCODER_HS_1ENCODER,
 PHIDUID_ENCODER_HS_4ENCODER_4INPUT,
 PHIDUID_FREQUENCYCOUNTER_2INPUT,
 PHIDUID_GPS,
 PHIDUID_INTERFACEKIT_0_0_4_NO_ECHO,
 PHIDUID_INTERFACEKIT_0_0_4,
 PHIDUID_INTERFACEKIT_0_0_8,
 PHIDUID_INTERFACEKIT_0_5_7,
 PHIDUID_INTERFACEKIT_0_8_8_w_LCD,
 PHIDUID_INTERFACEKIT_0_16_16_NO_ECHO,
 PHIDUID_INTERFACEKIT_0_16_16_BITBUG,
 PHIDUID_INTERFACEKIT_0_16_16,
 PHIDUID_INTERFACEKIT_2_2_2,
 PHIDUID_INTERFACEKIT_2_8_8,
 PHIDUID_INTERFACEKIT_4_8_8,
 PHIDUID_INTERFACEKIT_8_8_8_NO_ECHO,
 PHIDUID_INTERFACEKIT_8_8_8,
 PHIDUID_INTERFACEKIT_8_8_8_FAST,
 PHIDUID_INTERFACEKIT_8_8_8_w_LCD_NO_ECHO,
 PHIDUID_INTERFACEKIT_8_8_8_w_LCD,
 PHIDUID_INTERFACEKIT_8_8_8_w_LCD_FAST,
 PHIDUID_INTERFACEKIT_TOUCH_SLIDER,
 PHIDUID_INTERFACEKIT_TOUCH_ROTARY,
 PHIDUID_IR,
 PHIDUID_LED_64,
 PHIDUID_LED_64_ADV,
 PHIDUID_MOTORCONTROL_1MOTOR,
 PHIDUID_MOTORCONTROL_HC_2MOTOR,
 PHIDUID_MOTORCONTROL_LV_2MOTOR_4INPUT,
 PHIDUID_PHSENSOR,
 PHIDUID_RFID_OLD,
 PHIDUID_RFID,
 PHIDUID_RFID_2OUTPUT_NO_ECHO,
 PHIDUID_RFID_2OUTPUT,
 PHIDUID_RFID_2OUTPUT_ADVANCED,
 PHIDUID_SERVO_1MOTOR_OLD,
 PHIDUID_SERVO_4MOTOR_OLD,
 PHIDUID_SERVO_1MOTOR_NO_ECHO,
 PHIDUID_SERVO_1MOTOR,
 PHIDUID_SERVO_4MOTOR_NO_ECHO,
 PHIDUID_SERVO_4MOTOR,
 PHIDUID_SPATIAL_ACCEL_3AXIS_1049,
 PHIDUID_SPATIAL_ACCEL_3AXIS_1041,
 PHIDUID_SPATIAL_ACCEL_3AXIS_1043,
 PHIDUID_SPATIAL_ACCEL_GYRO_COMPASS_1056,
 PHIDUID_SPATIAL_ACCEL_GYRO_COMPASS_1056_NEG_GAIN,
 PHIDUID_SPATIAL_ACCEL_GYRO_COMPASS_1042,
 PHIDUID_SPATIAL_ACCEL_GYRO_COMPASS_1044,
 PHIDUID_STEPPER_BIPOLAR_1MOTOR,
 PHIDUID_STEPPER_UNIPOLAR_4MOTOR,
 PHIDUID_TEMPERATURESENSOR_OLD,
 PHIDUID_TEMPERATURESENSOR,
 PHIDUID_TEMPERATURESENSOR_AD22100,
 PHIDUID_TEMPERATURESENSOR_TERMINAL_BLOCKS,
 PHIDUID_TEMPERATURESENSOR_4,
 PHIDUID_TEMPERATURESENSOR_IR,
 PHIDUID_TEXTLCD_2x20,
 PHIDUID_TEXTLCD_2x20_w_8_8_8,
 PHIDUID_TEXTLCD_2x20_w_8_8_8_BRIGHTNESS,
 PHIDUID_TEXTLCD_ADAPTER,
 PHIDUID_TEXTLED_1x8,
 PHIDUID_TEXTLED_4x8,
 PHIDUID_WEIGHTSENSOR,
 PHIDUID_GENERIC,
 PHIDUID_FIRMWARE_UPGRADE
} CPhidget_DeviceUID;
 int CPhidget_open(CPhidgetHandle phid, int serialNumber);
 int CPhidget_openLabel(CPhidgetHandle phid, const char *label);
 int CPhidget_close(CPhidgetHandle phid);
 int CPhidget_delete(CPhidgetHandle phid);
 int CPhidget_set_OnDetach_Handler(CPhidgetHandle phid, int( *fptr)(CPhidgetHandle phid, void *userPtr), void *userPtr);
 int CPhidget_set_OnAttach_Handler(CPhidgetHandle phid, int( *fptr)(CPhidgetHandle phid, void *userPtr), void *userPtr);
 int CPhidget_set_OnServerConnect_Handler(CPhidgetHandle phid, int ( *fptr)(CPhidgetHandle phid, void *userPtr), void *userPtr);
 int CPhidget_set_OnServerDisconnect_Handler(CPhidgetHandle phid, int ( *fptr)(CPhidgetHandle phid, void *userPtr), void *userPtr);
 int CPhidget_set_OnError_Handler(CPhidgetHandle phid, int( *fptr)(CPhidgetHandle phid, void *userPtr, int errorCode, const char *errorString), void *userPtr);
 int CPhidget_getDeviceName(CPhidgetHandle phid, const char **deviceName);
 int CPhidget_getSerialNumber(CPhidgetHandle phid, int *serialNumber);
 int CPhidget_getDeviceVersion(CPhidgetHandle phid, int *deviceVersion);
 int CPhidget_getDeviceStatus(CPhidgetHandle phid, int *deviceStatus);
 int CPhidget_getLibraryVersion(const char **libraryVersion);
 int CPhidget_getDeviceType(CPhidgetHandle phid, const char **deviceType);
 int CPhidget_getDeviceLabel(CPhidgetHandle phid, const char **deviceLabel);
 int CPhidget_setDeviceLabel(CPhidgetHandle phid, const char *deviceLabel);
 int CPhidget_getErrorDescription(int errorCode, const char **errorString);
 int CPhidget_waitForAttachment(CPhidgetHandle phid, int milliseconds);
 int CPhidget_getServerID(CPhidgetHandle phid, const char **serverID);
 int CPhidget_getServerAddress(CPhidgetHandle phid, const char **address, int *port);
 int CPhidget_getServerStatus(CPhidgetHandle phid, int *serverStatus);
 int CPhidget_getDeviceID(CPhidgetHandle phid, CPhidget_DeviceID *deviceID);
 int CPhidget_getDeviceClass(CPhidgetHandle phid, CPhidget_DeviceClass *deviceClass);
typedef enum {
 PHIDGET_DICTIONARY_VALUE_CHANGED = 1,
 PHIDGET_DICTIONARY_ENTRY_ADDED,
 PHIDGET_DICTIONARY_ENTRY_REMOVING,
 PHIDGET_DICTIONARY_CURRENT_VALUE
} CPhidgetDictionary_keyChangeReason;
typedef struct _CPhidgetDictionary *CPhidgetDictionaryHandle;
typedef struct _CPhidgetDictionaryListener *CPhidgetDictionaryListenerHandle;
 int CPhidgetDictionary_create(CPhidgetDictionaryHandle *dict);
 int CPhidgetDictionary_close(CPhidgetDictionaryHandle dict);
 int CPhidgetDictionary_delete(CPhidgetDictionaryHandle dict);
 int CPhidgetDictionary_set_OnError_Handler(CPhidgetDictionaryHandle dict,
    int( *fptr)(CPhidgetDictionaryHandle, void *userPtr, int errorCode, const char *errorString), void *userPtr);
 int CPhidgetDictionary_addKey(CPhidgetDictionaryHandle dict, const char *key, const char *value, int persistent);
 int CPhidgetDictionary_removeKey(CPhidgetDictionaryHandle dict, const char *pattern);
typedef int( *CPhidgetDictionary_OnKeyChange_Function)(CPhidgetDictionaryHandle dict, void *userPtr,
 const char *key, const char *value, CPhidgetDictionary_keyChangeReason reason);
 int CPhidgetDictionary_set_OnKeyChange_Handler(CPhidgetDictionaryHandle dict, CPhidgetDictionaryListenerHandle *dictlistener, const char *pattern,
 CPhidgetDictionary_OnKeyChange_Function fptr, void *userPtr);
 int CPhidgetDictionary_remove_OnKeyChange_Handler(CPhidgetDictionaryListenerHandle dictlistener);
 int CPhidgetDictionary_getKey(CPhidgetDictionaryHandle dict, const char *key, char *value, int valuelen);
 int CPhidgetDictionary_set_OnServerConnect_Handler(CPhidgetDictionaryHandle dict, int ( *fptr)(CPhidgetDictionaryHandle dict, void *userPtr), void *userPtr);
 int CPhidgetDictionary_set_OnServerDisconnect_Handler(CPhidgetDictionaryHandle dict, int ( *fptr)(CPhidgetDictionaryHandle dict, void *userPtr), void *userPtr);
 int CPhidgetDictionary_getServerID(CPhidgetDictionaryHandle dict, const char **serverID);
 int CPhidgetDictionary_getServerAddress(CPhidgetDictionaryHandle dict, const char **address, int *port);
 int CPhidgetDictionary_getServerStatus(CPhidgetDictionaryHandle dict, int *serverStatus);
typedef struct _CPhidgetManager *CPhidgetManagerHandle;
 int CPhidgetManager_create(CPhidgetManagerHandle *phidm);
 int CPhidgetManager_open(CPhidgetManagerHandle phidm);
 int CPhidgetManager_close(CPhidgetManagerHandle phidm);
 int CPhidgetManager_delete(CPhidgetManagerHandle phidm);
 int CPhidgetManager_set_OnAttach_Handler(CPhidgetManagerHandle phidm, int ( *fptr)(CPhidgetHandle phid, void *userPtr), void *userPtr);
 int CPhidgetManager_set_OnDetach_Handler(CPhidgetManagerHandle phidm, int ( *fptr)(CPhidgetHandle phid, void *userPtr), void *userPtr);
 int CPhidgetManager_getAttachedDevices(CPhidgetManagerHandle phidm, CPhidgetHandle *phidArray[], int *count);
 int CPhidgetManager_freeAttachedDevicesArray(CPhidgetHandle phidArray[]);
 int CPhidgetManager_set_OnError_Handler(CPhidgetManagerHandle phidm, int( *fptr)(CPhidgetManagerHandle phidm, void *userPtr, int errorCode, const char *errorString), void *userPtr);
 int CPhidgetManager_set_OnServerConnect_Handler(CPhidgetManagerHandle phidm, int ( *fptr)(CPhidgetManagerHandle phidm, void *userPtr), void *userPtr);
 int CPhidgetManager_set_OnServerDisconnect_Handler(CPhidgetManagerHandle phidm, int ( *fptr)(CPhidgetManagerHandle phidm, void *userPtr), void *userPtr);
 int CPhidgetManager_getServerID(CPhidgetManagerHandle phidm, const char **serverID);
 int CPhidgetManager_getServerAddress(CPhidgetManagerHandle phidm, const char **address, int *port);
 int CPhidgetManager_getServerStatus(CPhidgetManagerHandle phidm, int *serverStatus);
 int CPhidget_openRemote(CPhidgetHandle phid, int serial, const char *serverID, const char *password);
 int CPhidget_openLabelRemote(CPhidgetHandle phid, const char *label, const char *serverID, const char *password);
 int CPhidget_openRemoteIP(CPhidgetHandle phid, int serial, const char *address, int port, const char *password);
 int CPhidget_openLabelRemoteIP(CPhidgetHandle phid, const char *label, const char *address, int port, const char *password);
 int CPhidgetManager_openRemote(CPhidgetManagerHandle phidm, const char *serverID, const char *password);
 int CPhidgetManager_openRemoteIP(CPhidgetManagerHandle phidm, const char *address, int port, const char *password);
 int CPhidgetDictionary_openRemote(CPhidgetDictionaryHandle dict, const char *serverID, const char *password);
 int CPhidgetDictionary_openRemoteIP(CPhidgetDictionaryHandle dict, const char *address, int port, const char *password);
typedef enum {
 PHIDGET_LOG_CRITICAL = 1,
 PHIDGET_LOG_ERROR,
 PHIDGET_LOG_WARNING,
 PHIDGET_LOG_DEBUG,
 PHIDGET_LOG_INFO,
 PHIDGET_LOG_VERBOSE
} CPhidgetLog_level;
 int CPhidget_enableLogging(CPhidgetLog_level level, const char *outputFile);
 int CPhidget_disableLogging();
 int CPhidget_log(CPhidgetLog_level level, const char *id, const char *message, ...);
typedef struct _CPhidgetAccelerometer *CPhidgetAccelerometerHandle;
 int CPhidgetAccelerometer_create(CPhidgetAccelerometerHandle *phid);
 int CPhidgetAccelerometer_getAxisCount(CPhidgetAccelerometerHandle phid, int *count);
 int CPhidgetAccelerometer_getAcceleration(CPhidgetAccelerometerHandle phid, int index, double *acceleration);
 int CPhidgetAccelerometer_getAccelerationMax(CPhidgetAccelerometerHandle phid, int index, double *max);
 int CPhidgetAccelerometer_getAccelerationMin(CPhidgetAccelerometerHandle phid, int index, double *min);
 int CPhidgetAccelerometer_set_OnAccelerationChange_Handler(CPhidgetAccelerometerHandle phid, int ( *fptr)(CPhidgetAccelerometerHandle phid, void *userPtr, int index, double acceleration), void *userPtr);
 int CPhidgetAccelerometer_getAccelerationChangeTrigger(CPhidgetAccelerometerHandle phid, int index, double *trigger);
 int CPhidgetAccelerometer_setAccelerationChangeTrigger(CPhidgetAccelerometerHandle phid, int index, double trigger);
typedef struct _CPhidgetAdvancedServo *CPhidgetAdvancedServoHandle;
 int CPhidgetAdvancedServo_create(CPhidgetAdvancedServoHandle *phid);
typedef enum {
 PHIDGET_SERVO_DEFAULT = 1,
 PHIDGET_SERVO_RAW_us_MODE,
 PHIDGET_SERVO_HITEC_HS322HD,
 PHIDGET_SERVO_HITEC_HS5245MG,
 PHIDGET_SERVO_HITEC_805BB,
 PHIDGET_SERVO_HITEC_HS422,
 PHIDGET_SERVO_TOWERPRO_MG90,
 PHIDGET_SERVO_HITEC_HSR1425CR,
 PHIDGET_SERVO_HITEC_HS785HB,
 PHIDGET_SERVO_HITEC_HS485HB,
 PHIDGET_SERVO_HITEC_HS645MG,
 PHIDGET_SERVO_HITEC_815BB,
 PHIDGET_SERVO_FIRGELLI_L12_30_50_06_R,
 PHIDGET_SERVO_FIRGELLI_L12_50_100_06_R,
 PHIDGET_SERVO_FIRGELLI_L12_50_210_06_R,
 PHIDGET_SERVO_FIRGELLI_L12_100_50_06_R,
 PHIDGET_SERVO_FIRGELLI_L12_100_100_06_R,
 PHIDGET_SERVO_SPRINGRC_SM_S2313M,
 PHIDGET_SERVO_SPRINGRC_SM_S3317M,
 PHIDGET_SERVO_SPRINGRC_SM_S3317SR,
 PHIDGET_SERVO_SPRINGRC_SM_S4303R,
 PHIDGET_SERVO_SPRINGRC_SM_S4315M,
 PHIDGET_SERVO_SPRINGRC_SM_S4315R,
 PHIDGET_SERVO_SPRINGRC_SM_S4505B,
 PHIDGET_SERVO_USER_DEFINED
} CPhidget_ServoType;
 int CPhidgetAdvancedServo_getMotorCount(CPhidgetAdvancedServoHandle phid, int *count);
 int CPhidgetAdvancedServo_getAcceleration(CPhidgetAdvancedServoHandle phid, int index, double *acceleration);
 int CPhidgetAdvancedServo_setAcceleration(CPhidgetAdvancedServoHandle phid, int index, double acceleration);
 int CPhidgetAdvancedServo_getAccelerationMax(CPhidgetAdvancedServoHandle phid, int index, double *max);
 int CPhidgetAdvancedServo_getAccelerationMin(CPhidgetAdvancedServoHandle phid, int index, double *min);
 int CPhidgetAdvancedServo_getVelocityLimit(CPhidgetAdvancedServoHandle phid, int index, double *limit);
 int CPhidgetAdvancedServo_setVelocityLimit(CPhidgetAdvancedServoHandle phid, int index, double limit);
 int CPhidgetAdvancedServo_getVelocity(CPhidgetAdvancedServoHandle phid, int index, double *velocity);
 int CPhidgetAdvancedServo_getVelocityMax(CPhidgetAdvancedServoHandle phid, int index, double *max);
 int CPhidgetAdvancedServo_getVelocityMin(CPhidgetAdvancedServoHandle phid, int index, double *min);
 int CPhidgetAdvancedServo_set_OnVelocityChange_Handler(CPhidgetAdvancedServoHandle phid, int ( *fptr)(CPhidgetAdvancedServoHandle phid, void *userPtr, int index, double velocity), void *userPtr);
 int CPhidgetAdvancedServo_getPosition(CPhidgetAdvancedServoHandle phid, int index, double *position);
 int CPhidgetAdvancedServo_setPosition(CPhidgetAdvancedServoHandle phid, int index, double position);
 int CPhidgetAdvancedServo_getPositionMax(CPhidgetAdvancedServoHandle phid, int index, double *max);
 int CPhidgetAdvancedServo_setPositionMax(CPhidgetAdvancedServoHandle phid, int index, double max);
 int CPhidgetAdvancedServo_getPositionMin(CPhidgetAdvancedServoHandle phid, int index, double *min);
 int CPhidgetAdvancedServo_setPositionMin(CPhidgetAdvancedServoHandle phid, int index, double min);
 int CPhidgetAdvancedServo_set_OnPositionChange_Handler(CPhidgetAdvancedServoHandle phid, int ( *fptr)(CPhidgetAdvancedServoHandle phid, void *userPtr, int index, double position), void *userPtr);
 int CPhidgetAdvancedServo_getCurrent(CPhidgetAdvancedServoHandle phid, int index, double *current);
 int CPhidgetAdvancedServo_set_OnCurrentChange_Handler(CPhidgetAdvancedServoHandle phid, int ( *fptr)(CPhidgetAdvancedServoHandle phid, void *userPtr, int index, double current), void *userPtr);
 int CPhidgetAdvancedServo_getSpeedRampingOn(CPhidgetAdvancedServoHandle phid, int index, int *rampingState);
 int CPhidgetAdvancedServo_setSpeedRampingOn(CPhidgetAdvancedServoHandle phid, int index, int rampingState);
 int CPhidgetAdvancedServo_getEngaged(CPhidgetAdvancedServoHandle phid, int index, int *engagedState);
 int CPhidgetAdvancedServo_setEngaged(CPhidgetAdvancedServoHandle phid, int index, int engagedState);
 int CPhidgetAdvancedServo_getStopped(CPhidgetAdvancedServoHandle phid, int index, int *stoppedState);
 int CPhidgetAdvancedServo_getServoType(CPhidgetAdvancedServoHandle phid, int index, CPhidget_ServoType *servoType);
 int CPhidgetAdvancedServo_setServoType(CPhidgetAdvancedServoHandle phid, int index, CPhidget_ServoType servoType);
 int CPhidgetAdvancedServo_setServoParameters(CPhidgetAdvancedServoHandle phid, int index, double min_us,double max_us,double degrees,double velocity_max);
typedef struct _CPhidgetAnalog *CPhidgetAnalogHandle;
 int CPhidgetAnalog_create(CPhidgetAnalogHandle *phid);
 int CPhidgetAnalog_getOutputCount(CPhidgetAnalogHandle phid, int *count);
 int CPhidgetAnalog_getVoltage(CPhidgetAnalogHandle phid, int index, double *voltage);
 int CPhidgetAnalog_setVoltage(CPhidgetAnalogHandle phid, int index, double voltage);
 int CPhidgetAnalog_getVoltageMax(CPhidgetAnalogHandle phid, int index, double *max);
 int CPhidgetAnalog_getVoltageMin(CPhidgetAnalogHandle phid, int index, double *min);
 int CPhidgetAnalog_setEnabled(CPhidgetAnalogHandle phid, int index, int enabledState);
 int CPhidgetAnalog_getEnabled(CPhidgetAnalogHandle phid, int index, int *enabledState);
typedef enum {
 PHIDGET_BRIDGE_GAIN_1 = 1,
 PHIDGET_BRIDGE_GAIN_8,
 PHIDGET_BRIDGE_GAIN_16,
 PHIDGET_BRIDGE_GAIN_32,
 PHIDGET_BRIDGE_GAIN_64,
 PHIDGET_BRIDGE_GAIN_128,
 PHIDGET_BRIDGE_GAIN_UNKNOWN
} CPhidgetBridge_Gain;
typedef struct _CPhidgetBridge *CPhidgetBridgeHandle;
 int CPhidgetBridge_create(CPhidgetBridgeHandle *phid);
 int CPhidgetBridge_getInputCount(CPhidgetBridgeHandle phid, int *count);
 int CPhidgetBridge_getBridgeValue(CPhidgetBridgeHandle phid, int index, double *value);
 int CPhidgetBridge_getBridgeMax(CPhidgetBridgeHandle phid, int index, double *max);
 int CPhidgetBridge_getBridgeMin(CPhidgetBridgeHandle phid, int index, double *min);
 int CPhidgetBridge_setEnabled(CPhidgetBridgeHandle phid, int index, int enabledState);
 int CPhidgetBridge_getEnabled(CPhidgetBridgeHandle phid, int index, int *enabledState);
 int CPhidgetBridge_getGain(CPhidgetBridgeHandle phid, int index, CPhidgetBridge_Gain *gain);
 int CPhidgetBridge_setGain(CPhidgetBridgeHandle phid, int index, CPhidgetBridge_Gain gain);
 int CPhidgetBridge_getDataRate(CPhidgetBridgeHandle phid, int *milliseconds);
 int CPhidgetBridge_setDataRate(CPhidgetBridgeHandle phid, int milliseconds);
 int CPhidgetBridge_getDataRateMax(CPhidgetBridgeHandle phid, int *max);
 int CPhidgetBridge_getDataRateMin(CPhidgetBridgeHandle phid, int *min);
 int CPhidgetBridge_set_OnBridgeData_Handler(CPhidgetBridgeHandle phid, int ( *fptr)(CPhidgetBridgeHandle phid, void *userPtr, int index, double value), void *userPtr);
typedef struct _CPhidgetEncoder *CPhidgetEncoderHandle;
 int CPhidgetEncoder_create(CPhidgetEncoderHandle *phid);
 int CPhidgetEncoder_getInputCount(CPhidgetEncoderHandle phid, int *count);
 int CPhidgetEncoder_getInputState(CPhidgetEncoderHandle phid, int index, int *inputState);
 int CPhidgetEncoder_set_OnInputChange_Handler(CPhidgetEncoderHandle phid, int ( *fptr)(CPhidgetEncoderHandle phid, void *userPtr, int index, int inputState), void *userPtr);
 int CPhidgetEncoder_getEncoderCount(CPhidgetEncoderHandle phid, int *count);
 int CPhidgetEncoder_getPosition(CPhidgetEncoderHandle phid, int index, int *position);
 int CPhidgetEncoder_setPosition(CPhidgetEncoderHandle phid, int index, int position);
 int CPhidgetEncoder_set_OnPositionChange_Handler(CPhidgetEncoderHandle phid, int ( *fptr)(CPhidgetEncoderHandle phid, void *userPtr, int index, int time,int positionChange), void *userPtr);
 int CPhidgetEncoder_getIndexPosition(CPhidgetEncoderHandle phid, int index, int *position);
 int CPhidgetEncoder_getEnabled(CPhidgetEncoderHandle phid, int index, int *enabledState);
 int CPhidgetEncoder_setEnabled(CPhidgetEncoderHandle phid, int index, int enabledState);
typedef enum {
 PHIDGET_FREQUENCYCOUNTER_FILTERTYPE_ZERO_CROSSING = 1,
 PHIDGET_FREQUENCYCOUNTER_FILTERTYPE_LOGIC_LEVEL,
 PHIDGET_FREQUENCYCOUNTER_FILTERTYPE_UNKNOWN
} CPhidgetFrequencyCounter_FilterType;
typedef struct _CPhidgetFrequencyCounter *CPhidgetFrequencyCounterHandle;
 int CPhidgetFrequencyCounter_create(CPhidgetFrequencyCounterHandle *phid);
 int CPhidgetFrequencyCounter_getFrequencyInputCount(CPhidgetFrequencyCounterHandle phid, int *count);
 int CPhidgetFrequencyCounter_getFrequency(CPhidgetFrequencyCounterHandle phid, int index, double *frequency);
 int CPhidgetFrequencyCounter_getTotalTime(CPhidgetFrequencyCounterHandle phid, int index, __int64 *time);
 int CPhidgetFrequencyCounter_getTotalCount(CPhidgetFrequencyCounterHandle phid, int index, __int64 *count);
 int CPhidgetFrequencyCounter_setTimeout(CPhidgetFrequencyCounterHandle phid, int index, int timeout);
 int CPhidgetFrequencyCounter_getTimeout(CPhidgetFrequencyCounterHandle phid, int index, int *timeout);
 int CPhidgetFrequencyCounter_setEnabled(CPhidgetFrequencyCounterHandle phid, int index, int enabledState);
 int CPhidgetFrequencyCounter_getEnabled(CPhidgetFrequencyCounterHandle phid, int index, int *enabledState);
 int CPhidgetFrequencyCounter_setFilter(CPhidgetFrequencyCounterHandle phid, int index, CPhidgetFrequencyCounter_FilterType filter);
 int CPhidgetFrequencyCounter_getFilter(CPhidgetFrequencyCounterHandle phid, int index, CPhidgetFrequencyCounter_FilterType *filter);
 int CPhidgetFrequencyCounter_reset(CPhidgetFrequencyCounterHandle phid, int index);
 int CPhidgetFrequencyCounter_set_OnCount_Handler(CPhidgetFrequencyCounterHandle phid, int ( *fptr)(CPhidgetFrequencyCounterHandle phid, void *userPtr, int index, int time,int counts), void *userPtr);
struct __GPSTime
{
 short tm_ms;
 short tm_sec;
 short tm_min;
 short tm_hour;
} typedef GPSTime;
struct __GPSDate
{
 short tm_mday;
 short tm_mon;
 short tm_year;
} typedef GPSDate;
struct __GPSSatInfo
{
 short ID;
 short elevation;
 int azimuth;
 short SNR;
} typedef GPSSatInfo;
struct __GPGGA
{
 GPSTime time;
 double latitude;
 double longitude;
 short fixQuality;
 short numSatellites;
 double horizontalDilution;
 double altitude;
 double heightOfGeoid;
} typedef GPGGA;
struct __GPGSA
{
 char mode;
 short fixType;
 short satUsed[12];
 double posnDilution;
 double horizDilution;
 double vertDilution;
} typedef GPGSA;
struct __GPGSV
{
 short satsInView;
 GPSSatInfo satInfo[12];
} typedef GPGSV;
struct __GPRMC
{
 GPSTime time;
 char status;
 double latitude;
 double longitude;
 double speedKnots;
 double heading;
 GPSDate date;
 double magneticVariation;
 char mode;
} typedef GPRMC;
struct __GPVTG
{
 double trueHeading;
 double magneticHeading;
 double speedKnots;
 double speed;
 char mode;
} typedef GPVTG;
struct __NMEAData
{
 GPGGA GGA;
 GPGSA GSA;
 GPGSV GSV;
 GPRMC RMC;
 GPVTG VTG;
} typedef NMEAData;
typedef struct _CPhidgetGPS *CPhidgetGPSHandle;
 int CPhidgetGPS_create(CPhidgetGPSHandle *phid);
 int CPhidgetGPS_getLatitude(CPhidgetGPSHandle phid, double *latitude);
 int CPhidgetGPS_getLongitude(CPhidgetGPSHandle phid, double *longitude);
 int CPhidgetGPS_getAltitude(CPhidgetGPSHandle phid, double *altitude);
 int CPhidgetGPS_getHeading(CPhidgetGPSHandle phid, double *heading);
 int CPhidgetGPS_getVelocity(CPhidgetGPSHandle phid, double *velocity);
 int CPhidgetGPS_getTime(CPhidgetGPSHandle phid, GPSTime *time);
 int CPhidgetGPS_getDate(CPhidgetGPSHandle phid, GPSDate *date);
 int CPhidgetGPS_getPositionFixStatus(CPhidgetGPSHandle phid, int *fixStatus);
 int CPhidgetGPS_getNMEAData(CPhidgetGPSHandle phid, NMEAData *data);
 int CPhidgetGPS_set_OnPositionChange_Handler(CPhidgetGPSHandle phid, int ( *fptr)(CPhidgetGPSHandle phid, void *userPtr, double latitude,double longitude,double altitude), void *userPtr);
 int CPhidgetGPS_set_OnPositionFixStatusChange_Handler(CPhidgetGPSHandle phid, int ( *fptr)(CPhidgetGPSHandle phid, void *userPtr, int status), void *userPtr);
typedef struct _CPhidgetInterfaceKit *CPhidgetInterfaceKitHandle;
 int CPhidgetInterfaceKit_create(CPhidgetInterfaceKitHandle *phid);
 int CPhidgetInterfaceKit_getInputCount(CPhidgetInterfaceKitHandle phid, int *count);
 int CPhidgetInterfaceKit_getInputState(CPhidgetInterfaceKitHandle phid, int index, int *inputState);
 int CPhidgetInterfaceKit_set_OnInputChange_Handler(CPhidgetInterfaceKitHandle phid, int ( *fptr)(CPhidgetInterfaceKitHandle phid, void *userPtr, int index, int inputState), void *userPtr);
 int CPhidgetInterfaceKit_getOutputCount(CPhidgetInterfaceKitHandle phid, int *count);
 int CPhidgetInterfaceKit_getOutputState(CPhidgetInterfaceKitHandle phid, int index, int *outputState);
 int CPhidgetInterfaceKit_setOutputState(CPhidgetInterfaceKitHandle phid, int index, int outputState);
 int CPhidgetInterfaceKit_set_OnOutputChange_Handler(CPhidgetInterfaceKitHandle phid, int ( *fptr)(CPhidgetInterfaceKitHandle phid, void *userPtr, int index, int outputState), void *userPtr);
 int CPhidgetInterfaceKit_getSensorCount(CPhidgetInterfaceKitHandle phid, int *count);
 int CPhidgetInterfaceKit_getSensorValue(CPhidgetInterfaceKitHandle phid, int index, int *sensorValue);
 int CPhidgetInterfaceKit_getSensorRawValue(CPhidgetInterfaceKitHandle phid, int index, int *sensorRawValue);
 int CPhidgetInterfaceKit_set_OnSensorChange_Handler(CPhidgetInterfaceKitHandle phid, int ( *fptr)(CPhidgetInterfaceKitHandle phid, void *userPtr, int index, int sensorValue), void *userPtr);
 int CPhidgetInterfaceKit_getSensorChangeTrigger(CPhidgetInterfaceKitHandle phid, int index, int *trigger);
 int CPhidgetInterfaceKit_setSensorChangeTrigger(CPhidgetInterfaceKitHandle phid, int index, int trigger);
 int CPhidgetInterfaceKit_getRatiometric(CPhidgetInterfaceKitHandle phid, int *ratiometric);
 int CPhidgetInterfaceKit_setRatiometric(CPhidgetInterfaceKitHandle phid, int ratiometric);
 int CPhidgetInterfaceKit_getDataRate(CPhidgetInterfaceKitHandle phid, int index, int *milliseconds);
 int CPhidgetInterfaceKit_setDataRate(CPhidgetInterfaceKitHandle phid, int index, int milliseconds);
 int CPhidgetInterfaceKit_getDataRateMax(CPhidgetInterfaceKitHandle phid, int index, int *max);
 int CPhidgetInterfaceKit_getDataRateMin(CPhidgetInterfaceKitHandle phid, int index, int *min);
typedef struct _CPhidgetIR *CPhidgetIRHandle;
 int CPhidgetIR_create(CPhidgetIRHandle *phid);
typedef enum {
 PHIDGET_IR_ENCODING_UNKNOWN = 1,
 PHIDGET_IR_ENCODING_SPACE,
 PHIDGET_IR_ENCODING_PULSE,
 PHIDGET_IR_ENCODING_BIPHASE,
 PHIDGET_IR_ENCODING_RC5,
 PHIDGET_IR_ENCODING_RC6
} CPhidgetIR_Encoding;
typedef enum {
 PHIDGET_IR_LENGTH_UNKNOWN = 1,
 PHIDGET_IR_LENGTH_CONSTANT,
 PHIDGET_IR_LENGTH_VARIABLE
} CPhidgetIR_Length;
typedef struct _CPhidgetIR_CodeInfo
{
 int bitCount;
 CPhidgetIR_Encoding encoding;
 CPhidgetIR_Length length;
 int gap;
 int trail;
 int header[2];
 int one[2];
 int zero[2];
 int repeat[26];
 int min_repeat;
 unsigned char toggle_mask[(128 / 8)];
 int carrierFrequency;
 int dutyCycle;
} CPhidgetIR_CodeInfo, *CPhidgetIR_CodeInfoHandle;
 int CPhidgetIR_Transmit(CPhidgetIRHandle phid, unsigned char *data, CPhidgetIR_CodeInfoHandle codeInfo);
 int CPhidgetIR_TransmitRepeat(CPhidgetIRHandle phid);
 int CPhidgetIR_TransmitRaw(CPhidgetIRHandle phid, int *data, int length, int carrierFrequency, int dutyCycle, int gap);
 int CPhidgetIR_getRawData(CPhidgetIRHandle phid, int *data, int *dataLength);
 int CPhidgetIR_getLastCode(CPhidgetIRHandle phid, unsigned char *data, int *dataLength, int *bitCount);
 int CPhidgetIR_getLastLearnedCode(CPhidgetIRHandle phid, unsigned char *data, int *dataLength, CPhidgetIR_CodeInfo *codeInfo);
 int CPhidgetIR_set_OnCode_Handler(CPhidgetIRHandle phid, int ( *fptr)(CPhidgetIRHandle phid, void *userPtr, unsigned char *data, int dataLength, int bitCount, int repeat), void *userPtr);
 int CPhidgetIR_set_OnLearn_Handler(CPhidgetIRHandle phid, int ( *fptr)(CPhidgetIRHandle phid, void *userPtr, unsigned char *data, int dataLength, CPhidgetIR_CodeInfoHandle codeInfo), void *userPtr);
 int CPhidgetIR_set_OnRawData_Handler(CPhidgetIRHandle phid, int ( *fptr)(CPhidgetIRHandle phid, void *userPtr, int *data, int dataLength), void *userPtr);
typedef struct _CPhidgetLED *CPhidgetLEDHandle;
 int CPhidgetLED_create(CPhidgetLEDHandle *phid);
typedef enum {
 PHIDGET_LED_CURRENT_LIMIT_20mA = 1,
 PHIDGET_LED_CURRENT_LIMIT_40mA,
 PHIDGET_LED_CURRENT_LIMIT_60mA,
 PHIDGET_LED_CURRENT_LIMIT_80mA
} CPhidgetLED_CurrentLimit;
typedef enum {
 PHIDGET_LED_VOLTAGE_1_7V = 1,
 PHIDGET_LED_VOLTAGE_2_75V,
 PHIDGET_LED_VOLTAGE_3_9V,
 PHIDGET_LED_VOLTAGE_5_0V
} CPhidgetLED_Voltage;
 int CPhidgetLED_getLEDCount(CPhidgetLEDHandle phid, int *count);
 int CPhidgetLED_getDiscreteLED(CPhidgetLEDHandle phid, int index, int *brightness);
 int CPhidgetLED_setDiscreteLED(CPhidgetLEDHandle phid, int index, int brightness);
 int CPhidgetLED_getCurrentLimit(CPhidgetLEDHandle phid, CPhidgetLED_CurrentLimit *currentLimit);
 int CPhidgetLED_setCurrentLimit(CPhidgetLEDHandle phid, CPhidgetLED_CurrentLimit currentLimit);
 int CPhidgetLED_getVoltage(CPhidgetLEDHandle phid, CPhidgetLED_Voltage *voltage);
 int CPhidgetLED_setVoltage(CPhidgetLEDHandle phid, CPhidgetLED_Voltage voltage);
typedef struct _CPhidgetMotorControl *CPhidgetMotorControlHandle;
 int CPhidgetMotorControl_create(CPhidgetMotorControlHandle *phid);
 int CPhidgetMotorControl_getMotorCount(CPhidgetMotorControlHandle phid, int *count);
 int CPhidgetMotorControl_getVelocity(CPhidgetMotorControlHandle phid, int index, double *velocity);
 int CPhidgetMotorControl_setVelocity(CPhidgetMotorControlHandle phid, int index, double velocity);
 int CPhidgetMotorControl_set_OnVelocityChange_Handler(CPhidgetMotorControlHandle phid, int ( *fptr)(CPhidgetMotorControlHandle phid, void *userPtr, int index, double velocity), void *userPtr);
 int CPhidgetMotorControl_getAcceleration(CPhidgetMotorControlHandle phid, int index, double *acceleration);
 int CPhidgetMotorControl_setAcceleration(CPhidgetMotorControlHandle phid, int index, double acceleration);
 int CPhidgetMotorControl_getAccelerationMax(CPhidgetMotorControlHandle phid, int index, double *max);
 int CPhidgetMotorControl_getAccelerationMin(CPhidgetMotorControlHandle phid, int index, double *min);
 int CPhidgetMotorControl_getCurrent(CPhidgetMotorControlHandle phid, int index, double *current);
 int CPhidgetMotorControl_set_OnCurrentChange_Handler(CPhidgetMotorControlHandle phid, int ( *fptr)(CPhidgetMotorControlHandle phid, void *userPtr, int index, double current), void *userPtr);
 int CPhidgetMotorControl_getInputCount(CPhidgetMotorControlHandle phid, int *count);
 int CPhidgetMotorControl_getInputState(CPhidgetMotorControlHandle phid, int index, int *inputState);
 int CPhidgetMotorControl_set_OnInputChange_Handler(CPhidgetMotorControlHandle phid, int ( *fptr)(CPhidgetMotorControlHandle phid, void *userPtr, int index, int inputState), void *userPtr);
 int CPhidgetMotorControl_getEncoderCount(CPhidgetMotorControlHandle phid, int *count);
 int CPhidgetMotorControl_getEncoderPosition(CPhidgetMotorControlHandle phid, int index, int *position);
 int CPhidgetMotorControl_setEncoderPosition(CPhidgetMotorControlHandle phid, int index, int position);
 int CPhidgetMotorControl_set_OnEncoderPositionChange_Handler(CPhidgetMotorControlHandle phid, int ( *fptr)(CPhidgetMotorControlHandle phid, void *userPtr, int index, int time,int positionChange), void *userPtr);
 int CPhidgetMotorControl_set_OnEncoderPositionUpdate_Handler(CPhidgetMotorControlHandle phid, int ( *fptr)(CPhidgetMotorControlHandle phid, void *userPtr, int index, int positionChange), void *userPtr);
 int CPhidgetMotorControl_getBackEMFSensingState(CPhidgetMotorControlHandle phid, int index, int *bEMFState);
 int CPhidgetMotorControl_setBackEMFSensingState(CPhidgetMotorControlHandle phid, int index, int bEMFState);
 int CPhidgetMotorControl_getBackEMF(CPhidgetMotorControlHandle phid, int index, double *voltage);
 int CPhidgetMotorControl_set_OnBackEMFUpdate_Handler(CPhidgetMotorControlHandle phid, int ( *fptr)(CPhidgetMotorControlHandle phid, void *userPtr, int index, double voltage), void *userPtr);
 int CPhidgetMotorControl_getSupplyVoltage(CPhidgetMotorControlHandle phid, double *supplyVoltage);
 int CPhidgetMotorControl_getBraking(CPhidgetMotorControlHandle phid, int index, double *braking);
 int CPhidgetMotorControl_setBraking(CPhidgetMotorControlHandle phid, int index, double braking);
 int CPhidgetMotorControl_getSensorCount(CPhidgetMotorControlHandle phid, int *count);
 int CPhidgetMotorControl_getSensorValue(CPhidgetMotorControlHandle phid, int index, int *sensorValue);
 int CPhidgetMotorControl_getSensorRawValue(CPhidgetMotorControlHandle phid, int index, int *sensorRawValue);
 int CPhidgetMotorControl_set_OnSensorUpdate_Handler(CPhidgetMotorControlHandle phid, int ( *fptr)(CPhidgetMotorControlHandle phid, void *userPtr, int index, int sensorValue), void *userPtr);
 int CPhidgetMotorControl_getRatiometric(CPhidgetMotorControlHandle phid, int *ratiometric);
 int CPhidgetMotorControl_setRatiometric(CPhidgetMotorControlHandle phid, int ratiometric);
 int CPhidgetMotorControl_set_OnCurrentUpdate_Handler(CPhidgetMotorControlHandle phid, int ( *fptr)(CPhidgetMotorControlHandle phid, void *userPtr, int index, double current), void *userPtr);
typedef struct _CPhidgetPHSensor *CPhidgetPHSensorHandle;
 int CPhidgetPHSensor_create(CPhidgetPHSensorHandle *phid);
 int CPhidgetPHSensor_getPH(CPhidgetPHSensorHandle phid, double *ph);
 int CPhidgetPHSensor_getPHMax(CPhidgetPHSensorHandle phid, double *max);
 int CPhidgetPHSensor_getPHMin(CPhidgetPHSensorHandle phid, double *min);
 int CPhidgetPHSensor_set_OnPHChange_Handler(CPhidgetPHSensorHandle phid, int ( *fptr)(CPhidgetPHSensorHandle phid, void *userPtr, double ph), void *userPtr);
 int CPhidgetPHSensor_getPHChangeTrigger(CPhidgetPHSensorHandle phid, double *trigger);
 int CPhidgetPHSensor_setPHChangeTrigger(CPhidgetPHSensorHandle phid, double trigger);
 int CPhidgetPHSensor_getPotential(CPhidgetPHSensorHandle phid, double *potential);
 int CPhidgetPHSensor_getPotentialMax(CPhidgetPHSensorHandle phid, double *max);
 int CPhidgetPHSensor_getPotentialMin(CPhidgetPHSensorHandle phid, double *min);
 int CPhidgetPHSensor_setTemperature(CPhidgetPHSensorHandle phid, double temperature);
typedef struct _CPhidgetRFID *CPhidgetRFIDHandle;
 int CPhidgetRFID_create(CPhidgetRFIDHandle *phid);
 int CPhidgetRFID_getOutputCount(CPhidgetRFIDHandle phid, int *count);
 int CPhidgetRFID_getOutputState(CPhidgetRFIDHandle phid, int index, int *outputState);
 int CPhidgetRFID_setOutputState(CPhidgetRFIDHandle phid, int index, int outputState);
 int CPhidgetRFID_set_OnOutputChange_Handler(CPhidgetRFIDHandle phid, int ( *fptr)(CPhidgetRFIDHandle phid, void *userPtr, int index, int outputState), void *userPtr);
 int CPhidgetRFID_getAntennaOn(CPhidgetRFIDHandle phid, int *antennaState);
 int CPhidgetRFID_setAntennaOn(CPhidgetRFIDHandle phid, int antennaState);
 int CPhidgetRFID_getLEDOn(CPhidgetRFIDHandle phid, int *LEDState);
 int CPhidgetRFID_setLEDOn(CPhidgetRFIDHandle phid, int LEDState);
 int CPhidgetRFID_getLastTag(CPhidgetRFIDHandle phid, unsigned char *tag);
 int CPhidgetRFID_getTagStatus(CPhidgetRFIDHandle phid, int *status);
 int CPhidgetRFID_set_OnTag_Handler(CPhidgetRFIDHandle phid, int ( *fptr)(CPhidgetRFIDHandle phid, void *userPtr, unsigned char *tag), void *userPtr);
 int CPhidgetRFID_set_OnTagLost_Handler(CPhidgetRFIDHandle phid, int ( *fptr)(CPhidgetRFIDHandle phid, void *userPtr, unsigned char *tag), void *userPtr);
typedef struct _CPhidgetServo *CPhidgetServoHandle;
 int CPhidgetServo_create(CPhidgetServoHandle *phid);
 int CPhidgetServo_getMotorCount(CPhidgetServoHandle phid, int *count);
 int CPhidgetServo_getPosition(CPhidgetServoHandle phid, int index, double *position);
 int CPhidgetServo_setPosition(CPhidgetServoHandle phid, int index, double position);
 int CPhidgetServo_getPositionMax(CPhidgetServoHandle phid, int index, double *max);
 int CPhidgetServo_getPositionMin(CPhidgetServoHandle phid, int index, double *min);
 int CPhidgetServo_set_OnPositionChange_Handler(CPhidgetServoHandle phid, int ( *fptr)(CPhidgetServoHandle phid, void *userPtr, int index, double position), void *userPtr);
 int CPhidgetServo_getEngaged(CPhidgetServoHandle phid, int index, int *engagedState);
 int CPhidgetServo_setEngaged(CPhidgetServoHandle phid, int index, int engagedState);
 int CPhidgetServo_getServoType(CPhidgetServoHandle phid, int index, CPhidget_ServoType *servoType);
 int CPhidgetServo_setServoType(CPhidgetServoHandle phid, int index, CPhidget_ServoType servoType);
 int CPhidgetServo_setServoParameters(CPhidgetServoHandle phid, int index, double min_us,double max_us,double degrees);
typedef struct _CPhidgetSpatial *CPhidgetSpatialHandle;
 int CPhidgetSpatial_create(CPhidgetSpatialHandle *phid);
typedef struct _CPhidgetSpatial_SpatialEventData
{
 double acceleration[3];
 double angularRate[3];
 double magneticField[3];
 CPhidget_Timestamp timestamp;
} CPhidgetSpatial_SpatialEventData, *CPhidgetSpatial_SpatialEventDataHandle;
 int CPhidgetSpatial_getAccelerationAxisCount(CPhidgetSpatialHandle phid, int *count);
 int CPhidgetSpatial_getGyroAxisCount(CPhidgetSpatialHandle phid, int *count);
 int CPhidgetSpatial_getCompassAxisCount(CPhidgetSpatialHandle phid, int *count);
 int CPhidgetSpatial_getAcceleration(CPhidgetSpatialHandle phid, int index, double *acceleration);
 int CPhidgetSpatial_getAccelerationMax(CPhidgetSpatialHandle phid, int index, double *max);
 int CPhidgetSpatial_getAccelerationMin(CPhidgetSpatialHandle phid, int index, double *min);
 int CPhidgetSpatial_getAngularRate(CPhidgetSpatialHandle phid, int index, double *angularRate);
 int CPhidgetSpatial_getAngularRateMax(CPhidgetSpatialHandle phid, int index, double *max);
 int CPhidgetSpatial_getAngularRateMin(CPhidgetSpatialHandle phid, int index, double *min);
 int CPhidgetSpatial_getMagneticField(CPhidgetSpatialHandle phid, int index, double *magneticField);
 int CPhidgetSpatial_getMagneticFieldMax(CPhidgetSpatialHandle phid, int index, double *max);
 int CPhidgetSpatial_getMagneticFieldMin(CPhidgetSpatialHandle phid, int index, double *min);
 int CPhidgetSpatial_zeroGyro(CPhidgetSpatialHandle phid);
 int CPhidgetSpatial_getDataRate(CPhidgetSpatialHandle phid, int *milliseconds);
 int CPhidgetSpatial_setDataRate(CPhidgetSpatialHandle phid, int milliseconds);
 int CPhidgetSpatial_getDataRateMax(CPhidgetSpatialHandle phid, int *max);
 int CPhidgetSpatial_getDataRateMin(CPhidgetSpatialHandle phid, int *min);
 int CPhidgetSpatial_setCompassCorrectionParameters(CPhidgetSpatialHandle phid, double magField, double offset0, double offset1, double offset2, double gain0, double gain1, double gain2, double T0, double T1, double T2, double T3, double T4, double T5);
 int CPhidgetSpatial_resetCompassCorrectionParameters(CPhidgetSpatialHandle phid);
 int CPhidgetSpatial_set_OnSpatialData_Handler(CPhidgetSpatialHandle phid, int ( *fptr)(CPhidgetSpatialHandle phid, void *userPtr, CPhidgetSpatial_SpatialEventDataHandle *data, int dataCount), void *userPtr);
typedef struct _CPhidgetStepper *CPhidgetStepperHandle;
 int CPhidgetStepper_create(CPhidgetStepperHandle *phid);
 int CPhidgetStepper_getInputCount(CPhidgetStepperHandle phid, int *count);
 int CPhidgetStepper_getInputState(CPhidgetStepperHandle phid, int index, int *inputState);
 int CPhidgetStepper_set_OnInputChange_Handler(CPhidgetStepperHandle phid, int ( *fptr)(CPhidgetStepperHandle phid, void *userPtr, int index, int inputState), void *userPtr);
 int CPhidgetStepper_getMotorCount(CPhidgetStepperHandle phid, int *count);
 int CPhidgetStepper_getAcceleration(CPhidgetStepperHandle phid, int index, double *acceleration);
 int CPhidgetStepper_setAcceleration(CPhidgetStepperHandle phid, int index, double acceleration);
 int CPhidgetStepper_getAccelerationMax(CPhidgetStepperHandle phid, int index, double *max);
 int CPhidgetStepper_getAccelerationMin(CPhidgetStepperHandle phid, int index, double *min);
 int CPhidgetStepper_getVelocityLimit(CPhidgetStepperHandle phid, int index, double *limit);
 int CPhidgetStepper_setVelocityLimit(CPhidgetStepperHandle phid, int index, double limit);
 int CPhidgetStepper_getVelocity(CPhidgetStepperHandle phid, int index, double *velocity);
 int CPhidgetStepper_getVelocityMax(CPhidgetStepperHandle phid, int index, double *max);
 int CPhidgetStepper_getVelocityMin(CPhidgetStepperHandle phid, int index, double *min);
 int CPhidgetStepper_set_OnVelocityChange_Handler(CPhidgetStepperHandle phid, int ( *fptr)(CPhidgetStepperHandle phid, void *userPtr, int index, double velocity), void *userPtr);
 int CPhidgetStepper_getTargetPosition(CPhidgetStepperHandle phid, int index, __int64 *position);
 int CPhidgetStepper_setTargetPosition(CPhidgetStepperHandle phid, int index, __int64 position);
 int CPhidgetStepper_getCurrentPosition(CPhidgetStepperHandle phid, int index, __int64 *position);
 int CPhidgetStepper_setCurrentPosition(CPhidgetStepperHandle phid, int index, __int64 position);
 int CPhidgetStepper_getPositionMax(CPhidgetStepperHandle phid, int index, __int64 *max);
 int CPhidgetStepper_getPositionMin(CPhidgetStepperHandle phid, int index, __int64 *min);
 int CPhidgetStepper_set_OnPositionChange_Handler(CPhidgetStepperHandle phid, int ( *fptr)(CPhidgetStepperHandle phid, void *userPtr, int index, __int64 position), void *userPtr);
 int CPhidgetStepper_getCurrentLimit(CPhidgetStepperHandle phid, int index, double *limit);
 int CPhidgetStepper_setCurrentLimit(CPhidgetStepperHandle phid, int index, double limit);
 int CPhidgetStepper_getCurrent(CPhidgetStepperHandle phid, int index, double *current);
 int CPhidgetStepper_getCurrentMax(CPhidgetStepperHandle phid, int index, double *max);
 int CPhidgetStepper_getCurrentMin(CPhidgetStepperHandle phid, int index, double *min);
 int CPhidgetStepper_set_OnCurrentChange_Handler(CPhidgetStepperHandle phid, int ( *fptr)(CPhidgetStepperHandle phid, void *userPtr, int index, double current), void *userPtr);
 int CPhidgetStepper_getEngaged(CPhidgetStepperHandle phid, int index, int *engagedState);
 int CPhidgetStepper_setEngaged(CPhidgetStepperHandle phid, int index, int engagedState);
 int CPhidgetStepper_getStopped(CPhidgetStepperHandle phid, int index, int *stoppedState);
typedef struct _CPhidgetTemperatureSensor *CPhidgetTemperatureSensorHandle;
 int CPhidgetTemperatureSensor_create(CPhidgetTemperatureSensorHandle *phid);
typedef enum {
 PHIDGET_TEMPERATURE_SENSOR_K_TYPE = 1,
 PHIDGET_TEMPERATURE_SENSOR_J_TYPE,
 PHIDGET_TEMPERATURE_SENSOR_E_TYPE,
 PHIDGET_TEMPERATURE_SENSOR_T_TYPE
} CPhidgetTemperatureSensor_ThermocoupleType;
 int CPhidgetTemperatureSensor_getTemperatureInputCount(CPhidgetTemperatureSensorHandle phid, int *count);
 int CPhidgetTemperatureSensor_getTemperature(CPhidgetTemperatureSensorHandle phid, int index, double *temperature);
 int CPhidgetTemperatureSensor_getTemperatureMax(CPhidgetTemperatureSensorHandle phid, int index, double *max);
 int CPhidgetTemperatureSensor_getTemperatureMin(CPhidgetTemperatureSensorHandle phid, int index, double *min);
 int CPhidgetTemperatureSensor_set_OnTemperatureChange_Handler(CPhidgetTemperatureSensorHandle phid, int ( *fptr)(CPhidgetTemperatureSensorHandle phid, void *userPtr, int index, double temperature), void *userPtr);
 int CPhidgetTemperatureSensor_getTemperatureChangeTrigger(CPhidgetTemperatureSensorHandle phid, int index, double *trigger);
 int CPhidgetTemperatureSensor_setTemperatureChangeTrigger(CPhidgetTemperatureSensorHandle phid, int index, double trigger);
 int CPhidgetTemperatureSensor_getPotential(CPhidgetTemperatureSensorHandle phid, int index, double *potential);
 int CPhidgetTemperatureSensor_getPotentialMax(CPhidgetTemperatureSensorHandle phid, int index, double *max);
 int CPhidgetTemperatureSensor_getPotentialMin(CPhidgetTemperatureSensorHandle phid, int index, double *min);
 int CPhidgetTemperatureSensor_getAmbientTemperature(CPhidgetTemperatureSensorHandle phid, double *ambient);
 int CPhidgetTemperatureSensor_getAmbientTemperatureMax(CPhidgetTemperatureSensorHandle phid, double *max);
 int CPhidgetTemperatureSensor_getAmbientTemperatureMin(CPhidgetTemperatureSensorHandle phid, double *min);
 int CPhidgetTemperatureSensor_getThermocoupleType(CPhidgetTemperatureSensorHandle phid, int index, CPhidgetTemperatureSensor_ThermocoupleType *type);
 int CPhidgetTemperatureSensor_setThermocoupleType(CPhidgetTemperatureSensorHandle phid, int index, CPhidgetTemperatureSensor_ThermocoupleType type);
typedef struct _CPhidgetTextLCD *CPhidgetTextLCDHandle;
 int CPhidgetTextLCD_create(CPhidgetTextLCDHandle *phid);
 int CPhidgetTextLCD_getRowCount(CPhidgetTextLCDHandle phid, int *count);
 int CPhidgetTextLCD_getColumnCount(CPhidgetTextLCDHandle phid, int *count);
 int CPhidgetTextLCD_getBacklight(CPhidgetTextLCDHandle phid, int *backlightState);
 int CPhidgetTextLCD_setBacklight(CPhidgetTextLCDHandle phid, int backlightState);
 int CPhidgetTextLCD_getBrightness(CPhidgetTextLCDHandle phid, int *brightness);
 int CPhidgetTextLCD_setBrightness(CPhidgetTextLCDHandle phid, int brightness);
 int CPhidgetTextLCD_getContrast(CPhidgetTextLCDHandle phid, int *contrast);
 int CPhidgetTextLCD_setContrast(CPhidgetTextLCDHandle phid, int contrast);
 int CPhidgetTextLCD_getCursorOn(CPhidgetTextLCDHandle phid, int *cursorState);
 int CPhidgetTextLCD_setCursorOn(CPhidgetTextLCDHandle phid, int cursorState);
 int CPhidgetTextLCD_getCursorBlink(CPhidgetTextLCDHandle phid, int *cursorBlinkState);
 int CPhidgetTextLCD_setCursorBlink(CPhidgetTextLCDHandle phid, int cursorBlinkState);
 int CPhidgetTextLCD_setCustomCharacter(CPhidgetTextLCDHandle phid, int index, int var1,int var2);
 int CPhidgetTextLCD_setDisplayCharacter(CPhidgetTextLCDHandle phid, int index, int column,unsigned char character);
 int CPhidgetTextLCD_setDisplayString(CPhidgetTextLCDHandle phid, int index, char *displayString);
typedef enum {
 PHIDGET_TEXTLCD_SCREEN_NONE = 1,
 PHIDGET_TEXTLCD_SCREEN_1x8,
 PHIDGET_TEXTLCD_SCREEN_2x8,
 PHIDGET_TEXTLCD_SCREEN_1x16,
 PHIDGET_TEXTLCD_SCREEN_2x16,
 PHIDGET_TEXTLCD_SCREEN_4x16,
 PHIDGET_TEXTLCD_SCREEN_2x20,
 PHIDGET_TEXTLCD_SCREEN_4x20,
 PHIDGET_TEXTLCD_SCREEN_2x24,
 PHIDGET_TEXTLCD_SCREEN_1x40,
 PHIDGET_TEXTLCD_SCREEN_2x40,
 PHIDGET_TEXTLCD_SCREEN_4x40,
 PHIDGET_TEXTLCD_SCREEN_UNKNOWN
} CPhidgetTextLCD_ScreenSize;
 int CPhidgetTextLCD_getScreenCount(CPhidgetTextLCDHandle phid, int *count);
 int CPhidgetTextLCD_getScreen(CPhidgetTextLCDHandle phid, int *screenIndex);
 int CPhidgetTextLCD_setScreen(CPhidgetTextLCDHandle phid, int screenIndex);
 int CPhidgetTextLCD_getScreenSize(CPhidgetTextLCDHandle phid, CPhidgetTextLCD_ScreenSize *screenSize);
 int CPhidgetTextLCD_setScreenSize(CPhidgetTextLCDHandle phid, CPhidgetTextLCD_ScreenSize screenSize);
 int CPhidgetTextLCD_initialize(CPhidgetTextLCDHandle phid);
typedef struct _CPhidgetTextLED *CPhidgetTextLEDHandle;
 int CPhidgetTextLED_create(CPhidgetTextLEDHandle *phid);
 int CPhidgetTextLED_getRowCount(CPhidgetTextLEDHandle phid, int *count);
 int CPhidgetTextLED_getColumnCount(CPhidgetTextLEDHandle phid, int *count);
 int CPhidgetTextLED_getBrightness(CPhidgetTextLEDHandle phid, int *brightness);
 int CPhidgetTextLED_setBrightness(CPhidgetTextLEDHandle phid, int brightness);
 int CPhidgetTextLED_setDisplayString(CPhidgetTextLEDHandle phid, int index, char *displayString);
typedef struct _CPhidgetWeightSensor *CPhidgetWeightSensorHandle;
 int CPhidgetWeightSensor_create(CPhidgetWeightSensorHandle *phid);
 int CPhidgetWeightSensor_getWeight(CPhidgetWeightSensorHandle phid, double *weight);
 int CPhidgetWeightSensor_set_OnWeightChange_Handler(CPhidgetWeightSensorHandle phid, int ( *fptr)(CPhidgetWeightSensorHandle phid, void *userPtr, double weight), void *userPtr);
 int CPhidgetWeightSensor_getWeightChangeTrigger(CPhidgetWeightSensorHandle phid, double *trigger);
 int CPhidgetWeightSensor_setWeightChangeTrigger(CPhidgetWeightSensorHandle phid, double trigger);
#ifndef CPHIDGET_CONSTANTS
#define CPHIDGET_CONSTANTS

/** \defgroup phidconst Phidget Constants 
 * Various constants used throughout the library.
 * @{
 */

/** \name Phidget States
 * Returned by getStatus() functions
 * @{
 */
#define PHIDGET_ATTACHED				0x1 /**< Phidget attached */
#define PHIDGET_NOTATTACHED				0x0 /**< Phidget not attached */
/** @} */

//Adding error codes: Update .NET, COM, Python, Java
/** \name Phidget Error Codes
 * Returned by all C API calls
 * @{
 */
#define	PHIDGET_ERROR_CODE_COUNT		20
#define EPHIDGET_OK						0	/**< Function completed successfully. */
#define EPHIDGET_NOTFOUND				1	/**< Phidget not found. "A Phidget matching the type and or serial number could not be found." */
#define EPHIDGET_NOMEMORY				2	/**< No memory. "Memory could not be allocated." */
#define EPHIDGET_UNEXPECTED				3	/**< Unexpected. "Unexpected Error. Contact Phidgets Inc. for support." */
#define EPHIDGET_INVALIDARG				4	/**< Invalid argument. "Invalid argument passed to function." */
#define EPHIDGET_NOTATTACHED			5	/**< Phidget not attached. "Phidget not physically attached." */
#define EPHIDGET_INTERRUPTED			6	/**< Interrupted. "Read/Write operation was interrupted." This code is not currently used. */
#define EPHIDGET_INVALID				7	/**< Invalid error code. "The Error Code is not defined." */
#define EPHIDGET_NETWORK				8	/**< Network. "Network Error." */
#define EPHIDGET_UNKNOWNVAL				9	/**< Value unknown. "Value is Unknown (State not yet received from device, or not yet set by user)." */
#define EPHIDGET_BADPASSWORD			10	/**< Authorization exception. "No longer used. Replaced by EEPHIDGET_BADPASSWORD" */
#define EPHIDGET_UNSUPPORTED			11	/**< Unsupported. "Not Supported." */
#define EPHIDGET_DUPLICATE				12	/**< Duplicate request. "Duplicated request." */
#define EPHIDGET_TIMEOUT				13	/**< Timeout. "Given timeout has been exceeded." */
#define EPHIDGET_OUTOFBOUNDS			14	/**< Out of bounds. "Index out of Bounds." */
#define EPHIDGET_EVENT					15	/**< Event. "A non-null error code was returned from an event handler." This code is not currently used. */
#define EPHIDGET_NETWORK_NOTCONNECTED	16	/**< Network not connected. "A connection to the server does not exist." */
#define EPHIDGET_WRONGDEVICE			17	/**< Wrong device. "Function is not applicable for this device." */
#define EPHIDGET_CLOSED					18	/**< Phidget Closed. "Phidget handle was closed." */
#define EPHIDGET_BADVERSION				19	/**< Version Mismatch. "No longer used. Replaced by EEPHIDGET_BADVERSION" */
/** @} */

//Adding error codes: Update .NET, COM, Python, Java
/** \name Phidget Error Event Codes
 * Returned in the Phidget error event
 * @{
 */
#define EEPHIDGET_EVENT_ERROR(code) (0x8000 + code)


//Library errors
#define EEPHIDGET_NETWORK		EEPHIDGET_EVENT_ERROR(0x0001)	/**< Network Error (asynchronous). */
#define EEPHIDGET_BADPASSWORD	EEPHIDGET_EVENT_ERROR(0x0002)	/**< Authorization Failed. */
#define EEPHIDGET_BADVERSION	EEPHIDGET_EVENT_ERROR(0x0003)	/**< Webservice and Client protocol versions don't match. Update to newest release. */

//Errors streamed back from firmware
#define EEPHIDGET_OK			EEPHIDGET_EVENT_ERROR(0x1000)	/**< An error state has ended - see description for details. */
#define EEPHIDGET_OVERRUN		EEPHIDGET_EVENT_ERROR(0x1002)	/**< A sampling overrun happend in firmware. */
#define EEPHIDGET_PACKETLOST	EEPHIDGET_EVENT_ERROR(0x1003)	/**< One or more packets were lost. */
#define EEPHIDGET_WRAP			EEPHIDGET_EVENT_ERROR(0x1004)	/**< A variable has wrapped around. */
#define EEPHIDGET_OVERTEMP		EEPHIDGET_EVENT_ERROR(0x1005)	/**< Overtemperature condition detected. */
#define EEPHIDGET_OVERCURRENT	EEPHIDGET_EVENT_ERROR(0x1006)	/**< Overcurrent condition detected. */
#define EEPHIDGET_OUTOFRANGE	EEPHIDGET_EVENT_ERROR(0x1007)	/**< Out of range condition detected. */
#define EEPHIDGET_BADPOWER		EEPHIDGET_EVENT_ERROR(0x1008)	/**< Power supply problem detected. */

/** @} */

/** \name Phidget Unknown Constants
 * Data values will be set to these constants when a call fails with \ref EPHIDGET_UNKNOWNVAL.
 * @{
 */
#define PUNK_BOOL	0x02					/**< Unknown Boolean (unsigned char) */
#define PUNK_SHRT	0x7FFF					/**< Unknown Short	 (16-bit) */
#define PUNK_INT	0x7FFFFFFF				/**< Unknown Integer (32-bit) */
#define PUNK_INT64	0x7FFFFFFFFFFFFFFFLL	/**< Unknown Integer (64-bit) */
#define PUNK_DBL	1e300					/**< Unknown Double */
#define PUNK_FLT	1e30					/**< Unknown Float */
/** @} */

#define PFALSE		0x00	/**< False. Used for boolean values. */
#define PTRUE		0x01	/**< True. Used for boolean values. */

/** @} */

#endif

#ifdef __cplusplus
}
#endif