/* Minimal dummy for softmodem on QNX - no networking headers, no endian macros */

#include "dosbox.h"
#include "programs.h"

/* Globals */
void* serialports[4] = {nullptr, nullptr, nullptr, nullptr};
bool serialMouseEmulated = false;

/* Common serial stubs */
Bitu SERIAL_ProgramStart(Program** /*make*/) { return 0; }
void SERIAL_Init() {}
void SERIAL_EventHandler_PIC_Event(Bitu /*val*/) {}

void BIOS_Post_register_comports() {}
void BIOS_Post_register_comports_PNP() {}
int bios_post_comport_count() { return 0; }

void on_mouse_event_for_serial(int /*dx*/, int /*dy*/, unsigned char /*button*/) {}
void runSerial(const char* /*command*/) {}

/* Platform stubs using void* to avoid type issues */
int SERIAL_open(const char* /*port*/, void** /*comport*/) { return 0; }
void SERIAL_close(void* /*comport*/) {}
void SERIAL_setCommParameters(void* /*comport*/, int, char, int, int) {}
int SERIAL_sendchar(void* /*comport*/, char) { return 0; }
int SERIAL_getchar(void* /*comport*/, unsigned char*, unsigned char*, bool, unsigned long) { return 0; }

/* Softmodem specific stubs */
void MODEM_ProgramStart(Program** /*make*/) {}
void MODEM_Init() {}

/* CSerial method stubs (called from dos.cpp) */
bool CSerial_Putchar(uint8_t /*data*/, bool /*wait_dsr*/, bool /*wait_cts*/, Bitu /*timeout*/) { return false; }
bool CSerial_Getchar(uint8_t* /*data*/, uint8_t* /*lsr*/, bool /*wait_dsr*/, Bitu /*timeout*/) { return false; }
