Source file: /~heha/basteln/NC/Mach3Usb/Mach3Usb.zip/MachDevice.h

// MachDevice.h : main header file for the MachDevice DLL
#pragma once
// =======================================================================================================
// Here are the types of the pointers to functions that can be called
// (MACH3 is brain-dead! Should export these functions instead!

typedef void (_cdecl *DoButton_t) (short);
typedef double (_cdecl *GetDRO_t) (short);
typedef void (_cdecl *SetDRO_t) (short,double);
typedef bool (_cdecl *GetLED_t) (short);
typedef void (_cdecl *GetProName_t) (void*);
typedef void (_cdecl *Code_t) (const char*);
typedef void (_cdecl *SetLED_t) (short, bool);

// =====================================================================================================
// Here are the pointers to the functions we can call in Mach 3
// =====================================================================================================
extern DoButton_t DoButton;	// void DoButton( code )
extern GetDRO_t GetDRO;		// Double GetDRO( code )
extern SetDRO_t SetDRO;		// void   SetDRO( short code, double value);
extern GetLED_t GetLED;		// bool   GetLED( short code );
extern GetProName_t GetProName;	// CString GetProName()
extern Code_t Code;		// void    Code( "G0X10Y10" );

// ==================================================================================================
// Here are the main data ares with which the implementer will do his/her work
// ==================================================================================================

// These pointers are set up in the MachDevice code during init of DLL

#define WIN32_LEAN_AND_MEAN
#include <windows.h>
#include "Engine.h"

// ************** Beware *****************
// You can alter almost anything and so hasten the end of the world as we know it

//extern TrajectoryControl *MainPlanner;	// used for most planner funcitons and program control 
//extern CMach4View *MachView;		// used for most framework and configuration calls. 
extern TrajBuffer *Engine;		// Ring0 memory for printer port control and other device syncronisation
//extern setup *_setup;			// Trajectory planners setup block. Always in effect

Detected encoding: ASCII (7 bit)2