namespace axl::io
namespace io { // namespaces namespace axl::io::psx; namespace axl::io::win; // typedefs typedef void SslInfoCallbackFunc( const SSL *ssl, int where, int ret ); typedef int SslVerifyCallbackFunc( int isPreVerifyOk, X509_STORE_CTX *ctx ); typedef DH* SslTmpDhCallbackFunc( SSL *ssl, int isExport, int keyLength ); typedef sl::Handle<libusb_config_descriptor*, FreeUsbConfigDescriptor> UsbConfigDescriptor; // enums enum FileFlag; enum NetworkAdapterFlag; enum NetworkAdapterType; enum PcapLoopResult; enum SerialFlowControl; enum SerialParity; enum SerialSettingId; enum SerialStatusLine; enum SerialStopBits; enum SharedMemoryTransportConst; enum SharedMemoryTransportFlag; enum SharedMemoryTransportState; enum SocketShutdownKind; // structs struct NetworkAdapterAddress; struct SerialSettings; struct SharedMemoryTransportHdr; struct SharedMemoryTransportMessageHdr; struct SockAddr; // classes class AutoDeleteFile; class ClosePcap; class CloseUsbContext; class File; class FileEnumerator; class FileTransport; class FreeSsl; class FreeSslCtx; class FreeUsbConfigDescriptor; class FreeUsbDeviceList; class FreeUsbTransfer; class MappedFile; class MappedViewMgr; class Mapping; class NetworkAdapterDesc; class Pcap; class PcapFilter; class Serial; class SerialPortDesc; class SharedMemoryReader; class SharedMemoryTransportBase; class SharedMemoryWriter; class SimpleMappedFile; class Socket; class Socketransport; class Ssl; class SslCtx; class Transport; class UsbContext; class UsbDevice; class UsbDeviceList; class UsbError; class UsbErrorProvider; class UsbEventThread; class UsbTransfer; // global functions uint64_t copyFile( const sl::StringRef& srcFileName, const sl::StringRef& dstFileName, uint64_t size = -1 ); uint64_t copyFile( const io::File* srcFile, const sl::StringRef& dstFileName, uint64_t size = -1 ); uint64_t copyFile( const io::File* srcFile, io::File* dstFile, uint64_t size = -1 ); sl::String getTempDir(); sl::String getHomeDir(); sl::String getCurrentDir(); bool setCurrentDir(const sl::StringRef& dir); sl::String getExeFilePath(); sl::String getExeDir(); bool doesFileExist(const sl::StringRef& fileName); bool ensureDirExists(const sl::StringRef& fileName); bool isDir(const sl::StringRef& fileName); sl::String getFullFilePath(const sl::StringRef& fileName); sl::String getDir(const sl::StringRef& filePath); sl::String getFileName(const sl::StringRef& filePath); sl::String getExtension(const sl::StringRef& filePath); sl::String concatFilePath( sl::String* filePath, const sl::StringRef& fileName ); sl::String concatFilePath( const sl::StringRef& dir, const sl::StringRef& fileName ); sl::String findFilePath( const sl::StringRef& fileName, const sl::StringRef& firstDir, const sl::BoxList<sl::String>* dirList, bool doFindInCurrentDir = true ); sl::String findFilePath( const sl::StringRef& fileName, const sl::BoxList<sl::String>* dirList, bool doFindInCurrentDir = true ); bool isSymbolicLink(const sl::StringRef& fileName); bool getSymbolicLinkTarget( sl::String* targetName, const sl::StringRef& linkName ); sl::String getSymbolicLinkTarget(const sl::StringRef& linkName); bool matchWildcard( const sl::StringRef& string0, const sl::StringRef& wildcard ); const char* getNetworkAdapterTypeString(NetworkAdapterType adapterKind); NetworkAdapterFlag getFirstNetworkAdapterFlag(uint_t flags); const char* getNetworkAdapterFlagString(NetworkAdapterFlag flag); sl::String getNetworkAdapterFlagString(uint_t flags); size_t getMacAddressString( sl::String* string, const uchar_t* macAddress, uint_t flags = 0 ); sl::String getMacAddressString( const uchar_t* macAddress, uint_t flags = 0 ); size_t createNetworkAdapterDescList(sl::List<NetworkAdapterDesc>* adapterList); size_t createSerialPortDescList(sl::List<SerialPortDesc>* portList); const char* getSockAddrFamilyString(uint_t family); size_t getSockAddrFamilySize(uint_t family); size_t getSockAddrSize(const sockaddr* addr); const char* getSockProtoString(uint_t proto); size_t getSockAddrNetMaskBitCount_ip4(const sockaddr_in* addr); size_t getSockAddrNetMaskBitCount_ip6(const sockaddr_in6* addr); size_t getSockAddrNetMaskBitCount(const sockaddr* addr); void createSockAddrNetMask_ip4( sockaddr_in* addr, size_t bitCount ); void createSockAddrNetMask_ip6( sockaddr_in6* addr, size_t bitCount ); bool isSockAddrEqual_ip4( const sockaddr_in* addr1, const sockaddr_in* addr2 ); bool isSockAddrEqual_ip6( const sockaddr_in6* addr1, const sockaddr_in6* addr2 ); bool isSockAddrEqual( const sockaddr* addr1, const sockaddr* addr2 ); bool isSockAddrMatch_ip4( const sockaddr_in* addr, const sockaddr_in* filterAddr ); bool isSockAddrMatch_ip6( const sockaddr_in6* addr, const sockaddr_in6* filterAddr ); bool isSockAddrMatch( const sockaddr* addr, const sockaddr* filterAddr ); bool parseAddr_ip4( in_addr* addr, const sl::StringRef& string ); bool parseAddr_ip6( in6_addr* addr, const sl::StringRef& string ); bool parseSockAddr_ip4( sockaddr_in* addr, const sl::StringRef& string ); bool parseSockAddr_ip6( sockaddr_in6* addr, const sl::StringRef& string ); bool parseSockAddr( sockaddr* addr, size_t size, const sl::StringRef& string ); size_t getAddrString_ip4( sl::String* string, const in_addr* addr ); sl::String getAddrString_ip4(const in_addr* addr); size_t getAddrString_ip6( sl::String* string, const in6_addr* addr ); sl::String getAddrString_ip6(const in6_addr* addr); size_t getSockAddrString_ip4( sl::String* string, const sockaddr_in* addr ); sl::String getSockAddrString_ip4(const sockaddr_in* addr); size_t getSockAddrString_ip6( sl::String* string, const sockaddr_in6* addr ); sl::String getSockAddrString_ip6(const sockaddr_in6* addr); size_t getSockAddrString( sl::String* string, const sockaddr* addr ); sl::String getSockAddrString(const sockaddr* addr); bool resolveHostName( sl::Array<SockAddr>* addrArray, const sl::StringRef& name, uint_t family = AF_UNSPEC ); sl::Array<SockAddr> resolveHostName( const sl::StringRef& name, uint_t family = AF_UNSPEC ); void registerSslErrorProvider(); UsbContext* getUsbDefaultContext(); bool hasUsbCapability(uint32_t capability); const char* getUsbSpeedString(libusb_speed speed); const char* getUsbClassCodeString(libusb_class_code classCode); const char* getUsbTransferTypeString(libusb_transfer_type transferType); const libusb_interface_descriptor* findUsbInterfaceDescriptor( const libusb_config_descriptor* configDesc, uint_t interfaceId, uint_t altSettingId ); const libusb_endpoint_descriptor* findUsbEndpointDescriptor( const libusb_interface_descriptor* ifaceDesc, uint_t endpointId ); const libusb_endpoint_descriptor* findUsbEndpointDescriptor( const libusb_config_descriptor* configDesc, uint_t endpointId, uint_t interfaceId = 0, uint_t altSettingId = 0 ); AXL_SL_DEFINE_GUID( g_usbErrorGuid, 0x87ea0738, 0x52e9, 0x4769, 0xb7, 0x27, 0x7a, 0x17, 0x37, 0x7b, 0x92, 0x1e ); void registerUsbErrorProvider(); UsbEventThread* getUsbDefaultContextEventThread(); const char* getUsbTransferStatusString(libusb_transfer_status status); } // namespace io