namespace io
namespace io {
// typedefs
typedef uint8_t U8;
typedef uint32_t U32;
typedef void cdecl JLINK_LOG(char const thin* sErr);
typedef int cdecl JLINK_FUNC_MRU_GETLIST(
io.U32 Group,
char thin* sList,
io.U32 BufferSize
);
typedef io.ModbusWriteSingleParams ModbusWriteSingleReplyParams;
typedef io.ModbusReadReplyParams ModbusReadWriteFileRecordParams;
typedef io.ModbusReadReplyPdu ModbusReadWriteFileRecordPdu;
typedef io.ModbusMaskWriteParams ModbusMaskWriteReplyParams;
typedef io.ModbusReadReplyParams ModbusReadWriteMultipleRegistersReplyParams;
typedef io.ModbusReadReplyParams ModbusReportServerIdReplyParams;
typedef io.ModbusWriteSinglePdu ModbusWriteSingleReplyPdu;
typedef io.ModbusMaskWritePdu ModbusMaskWriteReplyPdu;
typedef io.ModbusReadReplyPdu ModbusReadWriteMultipleRegistersReplyPdu;
// enums
enum {
ModbusDigestValueCount = 3,
};
enum {
JLINKARM_RTTERMINAL_BUFFER_DIR_UP = 0,
JLINKARM_RTTERMINAL_BUFFER_DIR_DOWN = 1,
};
enum {
ModbusFileReferenceType = 6,
ModbusMaxPduSize = 253,
ModbusMaxRtuAduSize = sizeof(ModbusRtuAduHdr) + ModbusMaxPduSize + 2,
ModbusMaxAsciiAduSize = 1 +(sizeof(ModbusRtuAduHdr) + ModbusMaxPduSize)* 2 + 4,
ModbusMaxTcpAduSize = sizeof(ModbusTcpAduHdr) + ModbusMaxPduSize,
};
enum {
JLINKARM_RTTERMINAL_CMD_START = 0,
JLINKARM_RTTERMINAL_CMD_STOP = 1,
JLINKARM_RTTERMINAL_CMD_GETDESC = 2,
JLINKARM_RTTERMINAL_CMD_GETNUMBUF = 3,
JLINKARM_RTTERMINAL_CMD_GETSTAT = 4,
};
enum {
JLINK_MRU_GROUP_DEVICE = 0,
JLINK_MRU_GROUP_SETTINGSFILE = 1,
JLINK_MRU_GROUP_SCRIPTFILE = 2,
};
enum {
JLINKARM_TIF_JTAG = 0,
JLINKARM_TIF_SWD = 1,
JLINKARM_TIF_BDM3 = 2,
JLINKARM_TIF_FINE = 3,
JLINKARM_TIF_ICSP = 4,
JLINKARM_TIF_SPI = 5,
JLINKARM_TIF_C2 = 6,
JLINKARM_TIF_CJTAG = 7,
JLINKARM_TIF_SWIM = 8,
JLINKARM_TIF_PDI = 9,
JLINKARM_TIF_MC2WJTAG_TDI = 10,
JLINKARM_TIF_NUMTIFS = 11,
};
enum {
JLINKARM_DEVICE_MAX_NUM_FLASH_BANKS = 16,
};
enum {
PcapFileSignature = '\xa1\xb2\xc3\xd4',
PcapFileMajorVersion = 2,
PcapFileMinorVersion = 4,
};
enum {
RpdFileSignature = ':dpr',
};
enum ArpHardwareType;
enum ArpOpcode;
enum Df1Char;
enum Df1ChecksumKind;
enum Df1CmdDirection;
enum Df1CmdFnc;
enum Df1CmdPrefix;
enum Df1CmdPriority;
enum Df1CpuMode;
enum Df1FileProtection;
enum Df1FileType;
enum Df1LocalStatus;
enum Df1Mode;
enum Df1PlcMode;
enum Df1RemoteStatus;
enum DhcpCookie;
enum DhcpFlags;
enum DhcpHardwareType;
enum DhcpMessageType;
enum DhcpOpcode;
bitflag enum DhcpOptionOverload;
enum DhcpOptionType;
enum DnsClass;
bitflag enum DnsFlags;
enum DnsOpcode;
enum DnsResponseCode;
enum DnsType;
enum EthernetType;
bitflag enum HwcEthernetTapPacketFlag;
enum HwcMsgCode;
enum I2cDecodeResult;
enum Icmp6Type;
enum IcmpType;
enum IgmpType;
bitflag enum IpFlags;
enum IpOptionNumber;
enum IpOptionType;
bitflag enum IpOptionTypeFlag;
enum IpProtocol;
enum JLINK_FUNC_INDEX;
enum LoopbackProtocolFamily;
enum Lsap;
enum ModbusChecksumKind;
enum ModbusDiagnosticSubFunc;
enum ModbusException;
enum ModbusFunc;
enum ModbusProtocol;
enum ModbusRole;
enum SpiDecodeResult;
bitflag enum TcpFlags;
enum UartDecodeResult;
// structs
struct ArpHdr;
struct Df1AppMsgHdr;
struct Df1ApplyPortConfiguration;
struct Df1ChangeMode;
struct Df1CloseFile;
struct Df1FileReadWrite;
struct Df1ModifyPlc2CompatibilityFile;
struct Df1OpenFile;
struct Df1PhysicalRead;
struct Df1PhysicalWrite;
struct Df1ProtectedTypedLogicalReadWrite;
struct Df1ProtectedTypedReadWrite;
struct Df1Read;
struct Df1SetCpuMode;
struct Df1SetEnqs;
struct Df1SetNaks;
struct Df1SetTimeout;
struct Df1SetVariables;
struct Df1Write;
struct DhcpHdr;
struct DhcpOptionHdr;
struct DnsAnswerRrSuffix;
struct DnsHdr;
struct DnsQuestionRrSuffix;
struct EthernetAddress;
struct EthernetHdr;
struct EthernetHdr_ieee8023;
struct HwcEthernetTapPacketHdr;
struct HwcMsgHdr;
struct HwcSerialConfig;
struct Icmp6Hdr;
struct IcmpHdr;
struct IgmpHdr;
struct Ip6Hdr;
struct IpHdr;
struct IpPseudoHdr;
struct JLINKARM_DEVICE_INFO;
struct JLINK_FLASH_AREA_INFO;
struct JLINK_FLASH_BANK_INFO;
struct JLINK_FLASH_BANK_INFO_EXT;
struct JLINK_PCODE_INFO;
struct JLINK_RAM_AREA_INFO;
struct JLINK_RTTERMINAL_BUFDESC;
struct JLINK_RTTERMINAL_START;
struct JLINK_RTTERMINAL_STATUS;
struct JLINK_RTTERMINAL_STOP;
struct LlcHdr;
struct LlcHdr16;
struct LoopbackHdr;
struct ModbusBitBank;
struct ModbusDiagnosticsParams;
struct ModbusExceptionParams;
struct ModbusExceptionPdu;
struct ModbusFileRecord;
struct ModbusGetCommEventCounterReplyParams;
struct ModbusGetCommEventCounterReplyPdu;
struct ModbusGetCommEventLogReplyParams;
struct ModbusGetCommEventLogReplyPdu;
struct ModbusMaskWriteParams;
struct ModbusMaskWritePdu;
struct ModbusPduHdr;
struct ModbusReadExceptionStatusReplyParams;
struct ModbusReadExceptionStatusReplyPdu;
struct ModbusReadFifoQueueParams;
struct ModbusReadFifoQueuePdu;
struct ModbusReadFifoQueueReplyParams;
struct ModbusReadFifoQueueReplyPdu;
struct ModbusReadFileRecordReply;
struct ModbusReadParams;
struct ModbusReadPdu;
struct ModbusReadReplyParams;
struct ModbusReadReplyPdu;
struct ModbusReadWriteMultipleRegistersParams;
struct ModbusReadWriteMultipleRegistersPdu;
struct ModbusReplyPduHdr;
struct ModbusRtuAduHdr;
struct ModbusRtuAduPduHdr;
struct ModbusRtuCrc;
struct ModbusTcpAduHdr;
struct ModbusTcpAduPduHdr;
struct ModbusWriteMultipleCoilsParams;
struct ModbusWriteMultipleParams;
struct ModbusWriteMultiplePdu;
struct ModbusWriteMultipleRegistersParams;
struct ModbusWriteMultipleReplyParams;
struct ModbusWriteMultipleReplyPdu;
struct ModbusWriteSingleParams;
struct ModbusWriteSinglePdu;
struct PcapFileHdr;
struct PcapPacketHdr;
struct RpdHdr;
struct RpdVersion;
struct TcpHdr;
struct UdpHdr;
struct UsbProduct;
// classes
class FileIdMgr;
class HwcProtoDecoder;
class I2cSignalDecoder;
class IpDecoder;
class IpDefragmenter;
class JLinkLib;
class SpiSignalDecoder;
class UartSignalDecoder;
class UsbDb;
class UsbVendor;
// global variables
io.HidDb g_hidDb;
// global functions
string_t detectSerialBuggyDriver(string_t portName);
void setConservativeSerialSettings(io.Serial* serial);
bool isEvenNonZeroBitCount(uint_t c);
io.UsbDb* getStdUsbDb();
string_t formatArpDigest(void const* p);
string_t getDf1ChecksumKindString(io.Df1ChecksumKind kind);
string_t formatDhcpDigest(void const* p);
io.DhcpOptionHdr const* findDhcpOption(
io.DhcpOptionType type,
void const* options,
size_t size
);
string_t formatString(
void const* p,
size_t size
);
string_t formatEthernetAddress(void const* p);
string_t formatIpAddress(void const* p);
string_t formatDhcpParameterRequestList(
void const* p,
size_t size
);
string_t formatDhcpClientIdentifier(
void const* p,
size_t size
);
string_t formatDnsDigest(void const* p);
size_t scanDnsName(
void const* p,
size_t size
);
void const* scanDnsName(
void const* p,
void const* end
);
string_t formatDnsName(
void const* p,
size_t size,
void const* base
);
string_t formatDnsName(
void const* p,
void const* end,
void const* base
);
size_t formatDnsName(
std.StringBuilder* string,
void const* p,
size_t size,
void const* base
);
void const* formatDnsName(
std.StringBuilder* string,
void const* p,
void const* end,
void const* base
);
string_t formatEthernetDigest(void const* p);
string_t formatIcmpDigest(void const* p);
string_t formatIcmp6Digest(void const* p);
string_t formatIgmpDigest(void const* p);
string_t formatIpDigest(void const* p);
string_t formatIp6Digest(void const* p);
string_t formatLlcDigest(void const* p);
void layoutModbusRegisters(
jnc.DynamicLayout* layout,
size_t count,
size_t size
);
void async layoutModbusPdu(
jnc.DynamicLayout* layout,
io.ModbusRole role
);
void appendModbusPduDigest(
std.StringBuilder* digest,
void const* p,
size_t size,
io.ModbusRole role
);
uint16_t crc16_modbus(
void const* p,
size_t size
);
string_t getModbusChecksumValidityString(bool isValid);
string_t formatModbusRtuCrc(void const* p);
string_t formatModbusAsciiLrc(void const* p);
void async layoutModbusAdu(
jnc.DynamicLayout* layout,
io.ModbusProtocol protocol,
io.ModbusRole role
);
string_t getModbusAduDigest(
void const* p,
size_t size,
jnc.ModuleItemDecl* decl
);
string_t getModbusRegisterDigest(
void const* p0,
size_t size
);
string_t getModbusBitDigest(
void const* p,
size_t size
);
string_t formatTcpFlagString(io.TcpFlags flags);
string_t formatTcpDigest(void const* p);
string_t formatUdpDigest(void const* p);
} // namespace io