WSJT-X/PSKReporter.h

128 lines
3.3 KiB
C

#pragma once
// Main header file for the external interface to the PSK Reporter API
// For documentation see http://psk.gladstonefamily.net/PSKReporterAPI.pdf
/*
Copyright (c) 2008 Philip Gladstone
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
*/
#ifdef _DLL_OPTION_PSKREPORTER_EXPORT
#define DllImportExport __declspec ( dllexport )
#else
#define DllImportExport __declspec ( dllimport )
#endif
#ifdef __cplusplus
extern "C" {
#endif
#define REPORTER_SOURCE_MASK 0x07
#define REPORTER_SOURCE_AUTOMATIC 0x01
#define REPORTER_SOURCE_LOG 0x02
#define REPORTER_SOURCE_MANUAL 0x03
#define REPORTER_SOURCE_TENTATIVE 0x40
#define REPORTER_SOURCE_TEST 0x80
typedef struct {
wchar_t hostname[256];
wchar_t port[32];
bool connected;
unsigned int callsigns_sent;
unsigned int callsigns_buffered;
unsigned int callsigns_discarded;
unsigned int last_send_time;
unsigned int next_send_time;
wchar_t last_callsign_queued[24];
unsigned int bytes_sent;
unsigned int bytes_sent_total;
unsigned int packets_sent;
unsigned int packets_sent_total;
} REPORTER_STATISTICS;
unsigned long DllImportExport __cdecl ReporterInitialize(
const wchar_t *hostname,
const wchar_t *port
);
unsigned long DllImportExport __cdecl ReporterSeenCallsign(
const wchar_t *remoteInformation,
const wchar_t *localInformation,
unsigned long flags
);
unsigned long DllImportExport __cdecl ReporterTickle(
);
unsigned long DllImportExport __cdecl ReporterGetInformation(
wchar_t *buffer,
unsigned long maxlen
);
unsigned long DllImportExport __cdecl ReporterGetStatistics(
REPORTER_STATISTICS *buffer,
unsigned long maxlen
);
unsigned long DllImportExport __cdecl ReporterUninitialize(
);
unsigned long DllImportExport __stdcall ReporterInitializeSTD(
const char *hostname,
const char *port
);
unsigned long DllImportExport __stdcall ReporterSeenCallsignSTD(
const char *remoteInformation,
const char *localInformation,
unsigned long flags
);
unsigned long DllImportExport __stdcall ReporterTickleSTD(
);
unsigned long DllImportExport __stdcall ReporterGetInformationSTD(
char *buffer,
unsigned long maxlen
);
unsigned long DllImportExport __stdcall ReporterGetStatisticsSTD(
REPORTER_STATISTICS *buffer,
unsigned long maxlen
);
unsigned long DllImportExport __stdcall ReporterUninitializeSTD(
);
#ifdef __cplusplus
}
#endif