#ifndef asynInterposePmac_H
#define asynInterposePmac_H

#include <epicsExport.h>
#include <macros.h>
#include <shareLib.h>

/*
Value is chosen arbitrarily, it just needs to be unique
*/
#define FLUSH_HARDWARE 1

#ifdef __cplusplus
extern "C" {
#endif /* __cplusplus */

/**
 * @brief Initialize a special asyn IP Port for PMAC controllers.
 *
 * Function that first initialises an asyn IP port and then the PMAC Asyn IP
 * interpose layer. It is a wrapper for drvAsynIPPort::drvAsynIPPortConfigure()
 * and pmacAsynIPPort::pmacAsynIPPortConfigureEos().
 *
 * @param portName The Asyn Port name string.
 * @param hostInfo The hostname or IP address followed by IP port (eg.
 * 172.23.243.156:1025)
 * @return status
 */
int HIDDEN pmacAsynIPPortConfigure(const char *portName, const char *hostInfo);

#ifdef __cplusplus
}
#endif /* __cplusplus */

#endif /* asynInterposePmac_H */