The following modules are included in the standard distribution and can be loaded at run-time with mod.load() in Fluid or LoadModule() in C/C++.
Use the navigation bar on the right to peruse the available functionality of the selected module.
Beginners should start with the Core module, which includes the bulk of Parasol's functionality.
Converts an IPAddress structure to an IPAddress in dotted string form.
Parameter | Description |
---|---|
IPAddress | A pointer to the IPAddress structure. |
Converts an IPAddress structure to a string containing the IPAddress in dotted format. Please free the resulting string with FreeResource() once it is no longer required.
The IP address is returned as an allocated string.
Converts a 32 bit (unsigned) long from host to network byte order.
Parameter | Description |
---|---|
Value | Data in host byte order to be converted to network byte order |
Converts a 32 bit (unsigned) long from host to network byte order.
The long in network byte order
Converts a 16 bit (unsigned) word from host to network byte order.
Parameter | Description |
---|---|
Value | Data in host byte order to be converted to network byte order |
Converts a 16 bit (unsigned) word from host to network byte order.
The word in network byte order
Converts a 32 bit (unsigned) long from network to host byte order.
Parameter | Description |
---|---|
Value | Data in network byte order to be converted to host byte order |
Converts a 32 bit (unsigned) long from network to host byte order.
The Value in host byte order.
Alters SSL settings on an initialised NetSocket object.
Parameter | Description |
---|---|
NetSocket | The target NetSocket object. |
Tags | Series of tags terminated by TAGEND. |
Use the SetSSL() function to send SSL commands to a NetSocket object. The following table illustrates the commands that are currently available:
If a failure occurs when executing a command, the execution of all further commands is aborted and the error code is returned immediately.
Okay | Operation successful. |
---|---|
NullArgs | The NetSocket argument was not specified. |
Converts a 16 bit (unsigned) word from network to host byte order.
Parameter | Description |
---|---|
Value | Data in network byte order to be converted to host byte order |
Converts a 16 bit (unsigned) word from network to host byte order.
The Value in host byte order
Converts an IP Address in string form to an IPAddress structure.
Parameter | Description |
---|---|
String | A null-terminated string containing the IP Address in dotted format. |
Address | Must point to an IPAddress structure that will be filled in. |
Converts an IPv4 or an IPv6 address in dotted string format to an IPAddress structure. The String
must be of form 1.2.3.4
(IPv4).
struct IPAddress addr; if (!StrToAddress("127.0.0.1", &addr)) { ... }
Okay | The Address was converted successfully. |
---|---|
Failed | The String was not a valid IP Address. |
NullArgs | Function call missing argument value(s) |
Address types for the IPAddress structure.
Name | Description |
---|---|
IPADDR::V4 | |
IPADDR::V6 |
Options for NetLookup
Name | Description |
---|---|
NLF::NO_CACHE | Contact the name service and do not use the local DNS cache. |
Name | Description |
---|---|
NSF::LOG_ALL | Print extra log messages. |
NSF::MULTI_CONNECT | Allow multiple connections from the same IP when in server mode. |
NSF::SERVER | Puts the socket into server mode. In this state the netsocket object will wait for incoming connections from clients. |
NSF::SSL | Use Secure Sockets Layer for all communication. |
NSF::SYNCHRONOUS | Use synchronous (blocking) network calls. |
Tags for SetSSL().
Name | Description |
---|---|
NSL::CONNECT | Initiate an SSL connection on this socket. |
NetSocket states
Name | Description |
---|---|
NTC::CONNECTED | There is an active connection at present. |
NTC::CONNECTING | A connection is being established. |
NTC::CONNECTING_SSL | An SSL connection is being established. |
NTC::DISCONNECTED | There is no connection. |
These error codes for certificate validation match the OpenSSL error codes (X509 definitions)
Name | Description |
---|---|
SCV::AKID_ISSUER_SERIAL_MISMATCH | |
SCV::AKID_SKID_MISMATCH | |
SCV::APPLICATION_VERIFICATION | |
SCV::CERT_CHAIN_TOO_LONG | |
SCV::CERT_HAS_EXPIRED | |
SCV::CERT_NOT_YET_VALID | |
SCV::CERT_REJECTED | |
SCV::CERT_REVOKED | |
SCV::CERT_SIGNATURE_FAILURE | |
SCV::CERT_UNTRUSTED | |
SCV::CRL_HAS_EXPIRED | |
SCV::CRL_NOT_YET_VALID | |
SCV::CRL_SIGNATURE_FAILURE | |
SCV::DEPTH_ZERO_SELF_SIGNED_CERT | |
SCV::ERROR_IN_CERT_NOT_AFTER_FIELD | |
SCV::ERROR_IN_CERT_NOT_BEFORE_FIELD | |
SCV::ERROR_IN_CRL_LAST_UPDATE_FIELD | |
SCV::ERROR_IN_CRL_NEXT_UPDATE_FIELD | |
SCV::INVALID_CA | |
SCV::INVALID_PURPOSE | |
SCV::KEYUSAGE_NO_CERTSIGN | |
SCV::OK | |
SCV::OUT_OF_MEM | |
SCV::PATH_LENGTH_EXCEEDED | |
SCV::SELF_SIGNED_CERT_IN_CHAIN | |
SCV::SUBJECT_ISSUER_MISMATCH | |
SCV::UNABLE_TO_DECODE_ISSUER_PUBLIC_KEY | |
SCV::UNABLE_TO_DECRYPT_CERT_SIGNATURE | |
SCV::UNABLE_TO_DECRYPT_CRL_SIGNATURE | |
SCV::UNABLE_TO_GET_CRL | |
SCV::UNABLE_TO_GET_ISSUER_CERT | |
SCV::UNABLE_TO_GET_ISSUER_CERT_LOCALLY | |
SCV::UNABLE_TO_VERIFY_LEAF_SIGNATURE |
Field | Type | Description |
---|---|---|
Data | ULONG | 128-bit array for supporting both V4 and V6 IP addresses. |
Type | IPADDR | Identifies the address Data value as a V4 or V6 address type. |
Pad | LONG | Unused padding for 64-bit alignment |
Simple data storage class utilised by NetSocket to represent a client machine/IP.
Field | Type | Description |
---|---|---|
IP | char | IP address in 4/8-byte format |
Next | struct NetClient * | Next client in the chain |
Prev | struct NetClient * | Previous client in the chain |
NetSocket | objNetSocket * | Reference to the parent socket |
Sockets | objClientSocket * | Pointer to a list of sockets opened with this client. |
ClientData | APTR | Free for user data storage. |
TotalSockets | LONG | Count of all created sockets |