// calling convention #define ATS_API __declspec(dllexport) // plugin version #define ATS_VERSION 131072 // keys #define ATS_KEY_S 0 #define ATS_KEY_A1 1 #define ATS_KEY_A2 2 #define ATS_KEY_B1 3 #define ATS_KEY_B2 4 #define ATS_KEY_C1 5 #define ATS_KEY_C2 6 #define ATS_KEY_D 7 #define ATS_KEY_E 8 #define ATS_KEY_F 9 #define ATS_KEY_G 10 #define ATS_KEY_H 11 #define ATS_KEY_I 12 #define ATS_KEY_J 13 #define ATS_KEY_K 14 #define ATS_KEY_L 15 // safety system initialization #define ATS_INIT_ON_SRV -1 #define ATS_INIT_ON_EMG 0 #define ATS_INIT_OFF_EMG 1 // sound instructions #define ATS_SOUND_STOP -10000 #define ATS_SOUND_PLAYLOOPING 0 #define ATS_SOUND_PLAY 1 #define ATS_SOUND_CONTINUE 2 // horn types #define ATS_HORN_PRIMARY 0 #define ATS_HORN_SECONDARY 1 #define ATS_HORN_MUSIC 2 // constant speed system instructions #define ATS_CONSTANTSPEED_CONTINUE 0 #define ATS_CONSTANTSPEED_ENABLE 1 #define ATS_CONSTANTSPEED_DISABLE 2 // vehicle specifications struct ATS_VEHICLESPEC { int BrakeNotches; int PowerNotches; int AtsNotch; int B67Notch; int Cars; }; // vehicle status struct ATS_VEHICLESTATE { double Location; float Speed; int Time; float BcPressure; float MrPressure; float ErPressure; float BpPressure; float SapPressure; float Current; }; // beacons struct ATS_BEACONDATA { int Type; int Signal; float Distance; int Optional; }; // handles struct ATS_HANDLES { int Brake; int Power; int Reverser; int ConstantSpeed; };