|  | 
| NATS_EXTERN natsStatus | nats_Open (int64_t lockSpinCount) | 
|  | Initializes the library. 
 | 
|  | 
| NATS_EXTERN const char * | nats_GetVersion (void) | 
|  | Returns the Library's version. 
 | 
|  | 
| NATS_EXTERN uint32_t | nats_GetVersionNumber (void) | 
|  | Returns the Library's version as a number. 
 | 
|  | 
| NATS_EXTERN bool | nats_CheckCompatibility (void) | 
|  | Check that the header is compatible with the library. 
 | 
|  | 
| NATS_EXTERN int64_t | nats_Now (void) | 
|  | Gives the current time in milliseconds. 
 | 
|  | 
| NATS_EXTERN int64_t | nats_NowInNanoSeconds (void) | 
|  | Gives the current time in nanoseconds. 
 | 
|  | 
| NATS_EXTERN void | nats_Sleep (int64_t sleepTime) | 
|  | Sleeps for a given number of milliseconds. 
 | 
|  | 
| NATS_EXTERN const char * | nats_GetLastError (natsStatus *status) | 
|  | Returns the calling thread's last known error. 
 | 
|  | 
| NATS_EXTERN natsStatus | nats_GetLastErrorStack (char *buffer, size_t bufLen) | 
|  | Returns the calling thread's last known error stack. 
 | 
|  | 
| NATS_EXTERN void | nats_PrintLastErrorStack (FILE *file) | 
|  | Prints the calling thread's last known error stack into the file. 
 | 
|  | 
| NATS_EXTERN natsStatus | nats_SetMessageDeliveryPoolSize (int max) | 
|  | Sets the maximum size of the global message delivery thread pool. 
 | 
|  | 
| NATS_EXTERN void | nats_ReleaseThreadMemory (void) | 
|  | Release thread-local memory possibly allocated by the library. 
 | 
|  | 
| NATS_EXTERN natsStatus | nats_Sign (const char *encodedSeed, const char *input, unsigned char **signature, int *signatureLength) | 
|  | Signs a given text using the provided private key. 
 | 
|  | 
| NATS_EXTERN void | nats_Close (void) | 
|  | Tear down the library. 
 | 
|  | 
| NATS_EXTERN natsStatus | nats_CloseAndWait (int64_t timeout) | 
|  | Tear down the library and wait for all resources to be released. 
 | 
|  | 
| NATS_EXTERN const char * | natsStatus_GetText (natsStatus s) | 
|  | Get the text corresponding to a natsStatus. 
 | 
|  | 
| NATS_EXTERN natsStatus | natsStatistics_Create (natsStatistics **newStats) | 
|  | Creates a natsStatistics object. 
 | 
|  | 
| NATS_EXTERN natsStatus | natsStatistics_GetCounts (const natsStatistics *stats, uint64_t *inMsgs, uint64_t *inBytes, uint64_t *outMsgs, uint64_t *outBytes, uint64_t *reconnects) | 
|  | Extracts the various statistics values. 
 | 
|  | 
| NATS_EXTERN void | natsStatistics_Destroy (natsStatistics *stats) | 
|  | Destroys the natsStatistics object. 
 | 
|  | 
| NATS_EXTERN natsStatus | natsOptions_Create (natsOptions **newOpts) | 
|  | Creates a natsOptions object. 
 | 
|  | 
| NATS_EXTERN natsStatus | natsOptions_SetURL (natsOptions *opts, const char *url) | 
|  | Sets the URL to connect to. 
 | 
|  | 
| NATS_EXTERN natsStatus | natsOptions_SetServers (natsOptions *opts, const char **servers, int serversCount) | 
|  | Set the list of servers to try to (re)connect to. 
 | 
|  | 
| NATS_EXTERN natsStatus | natsOptions_SetUserInfo (natsOptions *opts, const char *user, const char *password) | 
|  | Sets the user name/password to use when not specified in the URL. 
 | 
|  | 
| NATS_EXTERN natsStatus | natsOptions_SetToken (natsOptions *opts, const char *token) | 
|  | Sets the token to use when not specified in the URL. 
 | 
|  | 
| NATS_EXTERN natsStatus | natsOptions_SetTokenHandler (natsOptions *opts, natsTokenHandler tokenCb, void *closure) | 
|  | Sets the tokenCb to use whenever a token is needed. 
 | 
|  | 
| NATS_EXTERN natsStatus | natsOptions_SetNoRandomize (natsOptions *opts, bool noRandomize) | 
|  | Indicate if the servers list should be randomized. 
 | 
|  | 
| NATS_EXTERN natsStatus | natsOptions_SetTimeout (natsOptions *opts, int64_t timeout) | 
|  | Sets the (re)connect process timeout. 
 | 
|  | 
| NATS_EXTERN natsStatus | natsOptions_SetName (natsOptions *opts, const char *name) | 
|  | Sets the name. 
 | 
|  | 
| NATS_EXTERN natsStatus | natsOptions_SetSecure (natsOptions *opts, bool secure) | 
|  | Sets the secure mode. 
 | 
|  | 
| NATS_EXTERN natsStatus | natsOptions_LoadCATrustedCertificates (natsOptions *opts, const char *fileName) | 
|  | Loads the trusted CA certificates from a file. 
 | 
|  | 
| NATS_EXTERN natsStatus | natsOptions_SetCATrustedCertificates (natsOptions *opts, const char *certificates) | 
|  | Sets the trusted CA certificates from memory. 
 | 
|  | 
| NATS_EXTERN natsStatus | natsOptions_LoadCertificatesChain (natsOptions *opts, const char *certsFileName, const char *keyFileName) | 
|  | Loads the certificate chain from a file, using the given key. 
 | 
|  | 
| NATS_EXTERN natsStatus | natsOptions_SetCertificatesChain (natsOptions *opts, const char *cert, const char *key) | 
|  | Sets the client certificate and key. 
 | 
|  | 
| NATS_EXTERN natsStatus | natsOptions_SetCiphers (natsOptions *opts, const char *ciphers) | 
|  | Sets the list of available ciphers. 
 | 
|  | 
| NATS_EXTERN natsStatus | natsOptions_SetCipherSuites (natsOptions *opts, const char *ciphers) | 
|  | Sets the list of available ciphers for TLSv1.3. 
 | 
|  | 
| NATS_EXTERN natsStatus | natsOptions_SetExpectedHostname (natsOptions *opts, const char *hostname) | 
|  | Sets the server certificate's expected hostname. 
 | 
|  | 
| NATS_EXTERN natsStatus | natsOptions_SkipServerVerification (natsOptions *opts, bool skip) | 
|  | Switch server certificate verification. 
 | 
|  | 
| NATS_EXTERN natsStatus | natsOptions_SetVerbose (natsOptions *opts, bool verbose) | 
|  | Sets the verbose mode. 
 | 
|  | 
| NATS_EXTERN natsStatus | natsOptions_SetPedantic (natsOptions *opts, bool pedantic) | 
|  | Sets the pedantic mode. 
 | 
|  | 
| NATS_EXTERN natsStatus | natsOptions_SetPingInterval (natsOptions *opts, int64_t interval) | 
|  | Sets the ping interval. 
 | 
|  | 
| NATS_EXTERN natsStatus | natsOptions_SetMaxPingsOut (natsOptions *opts, int maxPingsOut) | 
|  | Sets the limit of outstanding PINGs without correspondingPONGs.
 | 
|  | 
| NATS_EXTERN natsStatus | natsOptions_SetIOBufSize (natsOptions *opts, int ioBufSize) | 
|  | Sets the size of the internal read/write buffers. 
 | 
|  | 
| NATS_EXTERN natsStatus | natsOptions_SetAllowReconnect (natsOptions *opts, bool allow) | 
|  | Indicates if the connection will be allowed to reconnect. 
 | 
|  | 
| NATS_EXTERN natsStatus | natsOptions_SetMaxReconnect (natsOptions *opts, int maxReconnect) | 
|  | Sets the maximum number of reconnect attempts. 
 | 
|  | 
| NATS_EXTERN natsStatus | natsOptions_SetReconnectWait (natsOptions *opts, int64_t reconnectWait) | 
|  | Sets the time between reconnect attempts. 
 | 
|  | 
| NATS_EXTERN natsStatus | natsOptions_SetReconnectJitter (natsOptions *opts, int64_t jitter, int64_t jitterTLS) | 
|  | Set the upper bound of a random delay added to reconnect wait. 
 | 
|  | 
| NATS_EXTERN natsStatus | natsOptions_SetCustomReconnectDelay (natsOptions *opts, natsCustomReconnectDelayHandler cb, void *closure) | 
|  | Sets the handler to invoke when the library needs to wait before the next reconnect attempts. 
 | 
|  | 
| NATS_EXTERN natsStatus | natsOptions_SetReconnectBufSize (natsOptions *opts, int reconnectBufSize) | 
|  | Sets the size of the backing buffer used during reconnect. 
 | 
|  | 
| NATS_EXTERN natsStatus | natsOptions_SetMaxPendingMsgs (natsOptions *opts, int maxPending) | 
|  | Sets the maximum number of pending messages per subscription. 
 | 
|  | 
| NATS_EXTERN natsStatus | natsOptions_SetErrorHandler (natsOptions *opts, natsErrHandler errHandler, void *closure) | 
|  | Sets the error handler for asynchronous events. 
 | 
|  | 
| NATS_EXTERN natsStatus | natsOptions_SetClosedCB (natsOptions *opts, natsConnectionHandler closedCb, void *closure) | 
|  | Sets the callback to be invoked when a connection to a server is permanently lost. 
 | 
|  | 
| NATS_EXTERN natsStatus | natsOptions_SetDisconnectedCB (natsOptions *opts, natsConnectionHandler disconnectedCb, void *closure) | 
|  | Sets the callback to be invoked when the connection to a server is lost. 
 | 
|  | 
| NATS_EXTERN natsStatus | natsOptions_SetReconnectedCB (natsOptions *opts, natsConnectionHandler reconnectedCb, void *closure) | 
|  | Sets the callback to be invoked when the connection has reconnected. 
 | 
|  | 
| NATS_EXTERN natsStatus | natsOptions_SetDiscoveredServersCB (natsOptions *opts, natsConnectionHandler discoveredServersCb, void *closure) | 
|  | Sets the callback to be invoked when new servers are discovered. 
 | 
|  | 
| NATS_EXTERN natsStatus | natsOptions_SetIgnoreDiscoveredServers (natsOptions *opts, bool ignore) | 
|  | Sets if the library should ignore or not discovered servers. 
 | 
|  | 
| NATS_EXTERN natsStatus | natsOptions_SetLameDuckModeCB (natsOptions *opts, natsConnectionHandler lameDuckCb, void *closure) | 
|  | Sets the callback to be invoked when server enters lame duck mode. 
 | 
|  | 
| NATS_EXTERN natsStatus | natsOptions_SetEventLoop (natsOptions *opts, void *loop, natsEvLoop_Attach attachCb, natsEvLoop_ReadAddRemove readCb, natsEvLoop_WriteAddRemove writeCb, natsEvLoop_Detach detachCb) | 
|  | Sets the external event loop and associated callbacks. 
 | 
|  | 
| NATS_EXTERN natsStatus | natsOptions_UseGlobalMessageDelivery (natsOptions *opts, bool global) | 
|  | Switch on/off the use of a central message delivery thread pool. 
 | 
|  | 
| NATS_EXTERN natsStatus | natsOptions_IPResolutionOrder (natsOptions *opts, int order) | 
|  | Dictates the order in which host name are resolved during connect. 
 | 
|  | 
| NATS_EXTERN natsStatus | natsOptions_SetSendAsap (natsOptions *opts, bool sendAsap) | 
|  | Sets if Publish calls should send data right away. 
 | 
|  | 
| NATS_EXTERN natsStatus | natsOptions_UseOldRequestStyle (natsOptions *opts, bool useOldStyle) | 
|  | Switches the use of old style requests. 
 | 
|  | 
| NATS_EXTERN natsStatus | natsOptions_SetFailRequestsOnDisconnect (natsOptions *opts, bool failRequests) | 
|  | Fails pending requests on disconnect event. 
 | 
|  | 
| NATS_EXTERN natsStatus | natsOptions_SetNoEcho (natsOptions *opts, bool noEcho) | 
|  | Sets if connection receives its own messages. 
 | 
|  | 
| NATS_EXTERN natsStatus | natsOptions_SetRetryOnFailedConnect (natsOptions *opts, bool retry, natsConnectionHandler connectedCb, void *closure) | 
|  | Indicates if initial connect failure should be retried or not. 
 | 
|  | 
| NATS_EXTERN natsStatus | natsOptions_SetUserCredentialsCallbacks (natsOptions *opts, natsUserJWTHandler ujwtCB, void *ujwtClosure, natsSignatureHandler sigCB, void *sigClosure) | 
|  | Sets the callbacks to fetch user JWT and sign server's nonce. 
 | 
|  | 
| NATS_EXTERN natsStatus | natsOptions_SetUserCredentialsFromFiles (natsOptions *opts, const char *userOrChainedFile, const char *seedFile) | 
|  | Sets the file(s) to use to fetch user JWT and seed required to sign nonce. 
 | 
|  | 
| NATS_EXTERN natsStatus | natsOptions_SetUserCredentialsFromMemory (natsOptions *opts, const char *jwtAndSeedContent) | 
|  | Sets JWT handler and handler to sign nonce that uses seed. 
 | 
|  | 
| NATS_EXTERN natsStatus | natsOptions_SetNKey (natsOptions *opts, const char *pubKey, natsSignatureHandler sigCB, void *sigClosure) | 
|  | Sets the NKey public key and signature callback. 
 | 
|  | 
| NATS_EXTERN natsStatus | natsOptions_SetNKeyFromSeed (natsOptions *opts, const char *pubKey, const char *seedFile) | 
|  | Sets the NKey public key and its seed file. 
 | 
|  | 
| NATS_EXTERN natsStatus | natsOptions_SetWriteDeadline (natsOptions *opts, int64_t deadline) | 
|  | Sets the write deadline. 
 | 
|  | 
| NATS_EXTERN natsStatus | natsOptions_DisableNoResponders (natsOptions *opts, bool disabled) | 
|  | Enable/Disable the "no responders" feature. 
 | 
|  | 
| NATS_EXTERN natsStatus | natsOptions_SetCustomInboxPrefix (natsOptions *opts, const char *inboxPrefix) | 
|  | Sets a custom inbox prefix. 
 | 
|  | 
| NATS_EXTERN natsStatus | natsOptions_SetMessageBufferPadding (natsOptions *opts, int paddingSize) | 
|  | Sets a custom padding when allocating buffer for incoming messages. 
 | 
|  | 
| NATS_EXTERN void | natsOptions_Destroy (natsOptions *opts) | 
|  | Destroys a natsOptions object. 
 | 
|  | 
| NATS_EXTERN natsStatus | stanConnOptions_Create (stanConnOptions **newOpts) | 
|  | Creates a stanConnOptions object. 
 | 
|  | 
| NATS_EXTERN natsStatus | stanConnOptions_SetURL (stanConnOptions *opts, const char *url) | 
|  | Sets the URL to connect to. 
 | 
|  | 
| NATS_EXTERN natsStatus | stanConnOptions_SetNATSOptions (stanConnOptions *opts, natsOptions *nOpts) | 
|  | Sets the NATS Options to use to create the connection. 
 | 
|  | 
| NATS_EXTERN natsStatus | stanConnOptions_SetConnectionWait (stanConnOptions *opts, int64_t wait) | 
|  | Sets the timeout for establishing a connection. 
 | 
|  | 
| NATS_EXTERN natsStatus | stanConnOptions_SetPubAckWait (stanConnOptions *opts, int64_t wait) | 
|  | Sets the timeout for waiting for an ACK for a published message. 
 | 
|  | 
| NATS_EXTERN natsStatus | stanConnOptions_SetDiscoveryPrefix (stanConnOptions *opts, const char *prefix) | 
|  | Sets the subject prefix the library sends the connect request to. 
 | 
|  | 
| NATS_EXTERN natsStatus | stanConnOptions_SetMaxPubAcksInflight (stanConnOptions *opts, int maxPubAcksInflight, float percentage) | 
|  | Sets the maximum number of published messages without outstanding ACKs from the server. 
 | 
|  | 
| NATS_EXTERN natsStatus | stanConnOptions_SetPings (stanConnOptions *opts, int interval, int maxOut) | 
|  | Sets the ping interval and max out values. 
 | 
|  | 
| NATS_EXTERN natsStatus | stanConnOptions_SetConnectionLostHandler (stanConnOptions *opts, stanConnectionLostHandler handler, void *closure) | 
|  | Sets the connection lost handler. 
 | 
|  | 
| NATS_EXTERN void | stanConnOptions_Destroy (stanConnOptions *opts) | 
|  | Destroys a stanConnOptions object. 
 | 
|  | 
| NATS_EXTERN natsStatus | stanSubOptions_Create (stanSubOptions **newOpts) | 
|  | Creates a stanSubOptions object. 
 | 
|  | 
| NATS_EXTERN natsStatus | stanSubOptions_SetDurableName (stanSubOptions *opts, const char *durableName) | 
|  | Sets the Durable Name for this subscription. 
 | 
|  | 
| NATS_EXTERN natsStatus | stanSubOptions_SetAckWait (stanSubOptions *opts, int64_t wait) | 
|  | Sets the timeout for waiting for an ACK from the cluster's point of view for delivered messages. 
 | 
|  | 
| NATS_EXTERN natsStatus | stanSubOptions_SetMaxInflight (stanSubOptions *opts, int maxInflight) | 
|  | Sets the the maximum number of messages the cluster will send without an ACK. 
 | 
|  | 
| NATS_EXTERN natsStatus | stanSubOptions_StartAtSequence (stanSubOptions *opts, uint64_t seq) | 
|  | Sets the desired start position based on the given sequence number. 
 | 
|  | 
| NATS_EXTERN natsStatus | stanSubOptions_StartAtTime (stanSubOptions *opts, int64_t time) | 
|  | Sets the desired start position based on the given time. 
 | 
|  | 
| NATS_EXTERN natsStatus | stanSubOptions_StartAtTimeDelta (stanSubOptions *opts, int64_t delta) | 
|  | Sets the desired start position based on the given delta. 
 | 
|  | 
| NATS_EXTERN natsStatus | stanSubOptions_StartWithLastReceived (stanSubOptions *opts) | 
|  | The subscription should start with the last message in the channel. 
 | 
|  | 
| NATS_EXTERN natsStatus | stanSubOptions_DeliverAllAvailable (stanSubOptions *opts) | 
|  | The subscription should start with the first message in the channel. 
 | 
|  | 
| NATS_EXTERN natsStatus | stanSubOptions_SetManualAckMode (stanSubOptions *opts, bool manual) | 
|  | Sets the subscription's acknowledgment mode. 
 | 
|  | 
| NATS_EXTERN void | stanSubOptions_Destroy (stanSubOptions *opts) | 
|  | Destroys a stanSubOptions object. 
 | 
|  | 
| NATS_EXTERN natsStatus | natsInbox_Create (natsInbox **newInbox) | 
|  | Creates an inbox. 
 | 
|  | 
| NATS_EXTERN void | natsInbox_Destroy (natsInbox *inbox) | 
|  | Destroys the inbox. 
 | 
|  | 
| NATS_EXTERN void | natsMsgList_Destroy (natsMsgList *list) | 
|  | Destroys this list of messages. 
 | 
|  | 
| NATS_EXTERN natsStatus | natsMsg_Create (natsMsg **newMsg, const char *subj, const char *reply, const char *data, int dataLen) | 
|  | Creates a natsMsg object. 
 | 
|  | 
| NATS_EXTERN const char * | natsMsg_GetSubject (const natsMsg *msg) | 
|  | Returns the subject set in this message. 
 | 
|  | 
| NATS_EXTERN const char * | natsMsg_GetReply (const natsMsg *msg) | 
|  | Returns the reply set in this message. 
 | 
|  | 
| NATS_EXTERN const char * | natsMsg_GetData (const natsMsg *msg) | 
|  | Returns the message payload. 
 | 
|  | 
| NATS_EXTERN int | natsMsg_GetDataLength (const natsMsg *msg) | 
|  | Returns the message length. 
 | 
|  | 
| NATS_EXTERN natsStatus | natsMsgHeader_Set (natsMsg *msg, const char *key, const char *value) | 
|  | Set the header entries associated with keyto the single elementvalue.
 | 
|  | 
| NATS_EXTERN natsStatus | natsMsgHeader_Add (natsMsg *msg, const char *key, const char *value) | 
|  | Add valueto the header associated withkey.
 | 
|  | 
| NATS_EXTERN natsStatus | natsMsgHeader_Get (natsMsg *msg, const char *key, const char **value) | 
|  | Get the header entry associated with key.
 | 
|  | 
| NATS_EXTERN natsStatus | natsMsgHeader_Values (natsMsg *msg, const char *key, const char ***values, int *count) | 
|  | Get all header values associated with key.
 | 
|  | 
| NATS_EXTERN natsStatus | natsMsgHeader_Keys (natsMsg *msg, const char ***keys, int *count) | 
|  | Get all header keys. 
 | 
|  | 
| NATS_EXTERN natsStatus | natsMsgHeader_Delete (natsMsg *msg, const char *key) | 
|  | Delete the value(s) associated with key.
 | 
|  | 
| NATS_EXTERN bool | natsMsg_IsNoResponders (natsMsg *msg) | 
|  | Indicates if this message is a "no responders" message from the server. 
 | 
|  | 
| NATS_EXTERN void | natsMsg_Destroy (natsMsg *msg) | 
|  | Destroys the message object. 
 | 
|  | 
| NATS_EXTERN uint64_t | stanMsg_GetSequence (const stanMsg *msg) | 
|  | Returns the message's sequence number. 
 | 
|  | 
| NATS_EXTERN int64_t | stanMsg_GetTimestamp (const stanMsg *msg) | 
|  | Returns the message's timestamp. 
 | 
|  | 
| NATS_EXTERN bool | stanMsg_IsRedelivered (const stanMsg *msg) | 
|  | Returns the message's redelivered flag. 
 | 
|  | 
| NATS_EXTERN const char * | stanMsg_GetData (const stanMsg *msg) | 
|  | Returns the message payload. 
 | 
|  | 
| NATS_EXTERN int | stanMsg_GetDataLength (const stanMsg *msg) | 
|  | Returns the message length. 
 | 
|  | 
| NATS_EXTERN void | stanMsg_Destroy (stanMsg *msg) | 
|  | Destroys the message object. 
 | 
|  | 
| NATS_EXTERN natsStatus | natsConnection_Connect (natsConnection **nc, natsOptions *options) | 
|  | Connects to a NATS Serverusing the provided options.
 | 
|  | 
| NATS_EXTERN void | natsConnection_ProcessReadEvent (natsConnection *nc) | 
|  | Process a read event when using external event loop. 
 | 
|  | 
| NATS_EXTERN void | natsConnection_ProcessWriteEvent (natsConnection *nc) | 
|  | Process a write event when using external event loop. 
 | 
|  | 
| NATS_EXTERN natsStatus | natsConnection_ConnectTo (natsConnection **nc, const char *urls) | 
|  | Connects to a NATS Serverusing any of the URL from the given list.
 | 
|  | 
| NATS_EXTERN bool | natsConnection_IsClosed (natsConnection *nc) | 
|  | Test if connection has been closed. 
 | 
|  | 
| NATS_EXTERN bool | natsConnection_IsReconnecting (natsConnection *nc) | 
|  | Test if connection is reconnecting. 
 | 
|  | 
| bool | natsConnection_IsDraining (natsConnection *nc) | 
|  | Test if connection is draining. 
 | 
|  | 
| NATS_EXTERN natsConnStatus | natsConnection_Status (natsConnection *nc) | 
|  | Returns the current state of the connection. 
 | 
|  | 
| NATS_EXTERN int | natsConnection_Buffered (natsConnection *nc) | 
|  | Returns the number of bytes to be sent to the server. 
 | 
|  | 
| NATS_EXTERN natsStatus | natsConnection_Flush (natsConnection *nc) | 
|  | Flushes the connection. 
 | 
|  | 
| NATS_EXTERN natsStatus | natsConnection_FlushTimeout (natsConnection *nc, int64_t timeout) | 
|  | Flushes the connection with a given timeout. 
 | 
|  | 
| NATS_EXTERN int64_t | natsConnection_GetMaxPayload (natsConnection *nc) | 
|  | Returns the maximum message payload. 
 | 
|  | 
| NATS_EXTERN natsStatus | natsConnection_GetStats (natsConnection *nc, natsStatistics *stats) | 
|  | Gets the connection statistics. 
 | 
|  | 
| NATS_EXTERN natsStatus | natsConnection_GetConnectedUrl (natsConnection *nc, char *buffer, size_t bufferSize) | 
|  | Gets the URL of the currently connected server. 
 | 
|  | 
| NATS_EXTERN natsStatus | natsConnection_GetConnectedServerId (natsConnection *nc, char *buffer, size_t bufferSize) | 
|  | Gets the server Id. 
 | 
|  | 
| NATS_EXTERN natsStatus | natsConnection_GetServers (natsConnection *nc, char ***servers, int *count) | 
|  | Returns the list of server URLs known to this connection. 
 | 
|  | 
| NATS_EXTERN natsStatus | natsConnection_GetDiscoveredServers (natsConnection *nc, char ***servers, int *count) | 
|  | Returns the list of discovered server URLs. 
 | 
|  | 
| NATS_EXTERN natsStatus | natsConnection_GetLastError (natsConnection *nc, const char **lastError) | 
|  | Gets the last connection error. 
 | 
|  | 
| NATS_EXTERN natsStatus | natsConnection_GetClientID (natsConnection *nc, uint64_t *cid) | 
|  | Gets the current client ID assigned by the server. 
 | 
|  | 
| NATS_EXTERN natsStatus | natsConnection_Drain (natsConnection *nc) | 
|  | Drains the connection with default timeout. 
 | 
|  | 
| NATS_EXTERN natsStatus | natsConnection_DrainTimeout (natsConnection *nc, int64_t timeout) | 
|  | Drains the connection with given timeout. 
 | 
|  | 
| NATS_EXTERN natsStatus | natsConnection_Sign (natsConnection *nc, const unsigned char *message, int messageLen, unsigned char sig[64]) | 
|  | Signs any 'message' using the connection's user credentials. 
 | 
|  | 
| NATS_EXTERN natsStatus | natsConnection_GetClientIP (natsConnection *nc, char **ip) | 
|  | Returns the client's IP address as reported by the server. 
 | 
|  | 
| NATS_EXTERN natsStatus | natsConnection_GetRTT (natsConnection *nc, int64_t *rtt) | 
|  | Returns the round trip time between this client and the server. 
 | 
|  | 
| NATS_EXTERN natsStatus | natsConnection_HasHeaderSupport (natsConnection *nc) | 
|  | Returns if the connection to current server supports headers. 
 | 
|  | 
| natsStatus | natsConnection_GetLocalIPAndPort (natsConnection *nc, char **ip, int *port) | 
|  | Returns the connection local IP and port. 
 | 
|  | 
| NATS_EXTERN void | natsConnection_Close (natsConnection *nc) | 
|  | Closes the connection. 
 | 
|  | 
| NATS_EXTERN void | natsConnection_Destroy (natsConnection *nc) | 
|  | Destroys the connection object. 
 | 
|  | 
| NATS_EXTERN natsStatus | natsConnection_Publish (natsConnection *nc, const char *subj, const void *data, int dataLen) | 
|  | Publishes data on a subject. 
 | 
|  | 
| NATS_EXTERN natsStatus | natsConnection_PublishString (natsConnection *nc, const char *subj, const char *str) | 
|  | Publishes a string on a subject. 
 | 
|  | 
| NATS_EXTERN natsStatus | natsConnection_PublishMsg (natsConnection *nc, natsMsg *msg) | 
|  | Publishes a message on a subject. 
 | 
|  | 
| NATS_EXTERN natsStatus | natsConnection_PublishRequest (natsConnection *nc, const char *subj, const char *reply, const void *data, int dataLen) | 
|  | Publishes data on a subject expecting replies on the given reply. 
 | 
|  | 
| NATS_EXTERN natsStatus | natsConnection_PublishRequestString (natsConnection *nc, const char *subj, const char *reply, const char *str) | 
|  | Publishes a string on a subject expecting replies on the given reply. 
 | 
|  | 
| NATS_EXTERN natsStatus | natsConnection_Request (natsMsg **replyMsg, natsConnection *nc, const char *subj, const void *data, int dataLen, int64_t timeout) | 
|  | Sends a request and waits for a reply. 
 | 
|  | 
| NATS_EXTERN natsStatus | natsConnection_RequestString (natsMsg **replyMsg, natsConnection *nc, const char *subj, const char *str, int64_t timeout) | 
|  | Sends a request (as a string) and waits for a reply. 
 | 
|  | 
| NATS_EXTERN natsStatus | natsConnection_RequestMsg (natsMsg **replyMsg, natsConnection *nc, natsMsg *requestMsg, int64_t timeout) | 
|  | Sends a request based on the given requestMsgand waits for a reply.
 | 
|  | 
| NATS_EXTERN natsStatus | natsConnection_Subscribe (natsSubscription **sub, natsConnection *nc, const char *subject, natsMsgHandler cb, void *cbClosure) | 
|  | Creates an asynchronous subscription. 
 | 
|  | 
| NATS_EXTERN natsStatus | natsConnection_SubscribeTimeout (natsSubscription **sub, natsConnection *nc, const char *subject, int64_t timeout, natsMsgHandler cb, void *cbClosure) | 
|  | Creates an asynchronous subscription with a timeout. 
 | 
|  | 
| NATS_EXTERN natsStatus | natsConnection_SubscribeSync (natsSubscription **sub, natsConnection *nc, const char *subject) | 
|  | Creates a synchronous subcription. 
 | 
|  | 
| NATS_EXTERN natsStatus | natsConnection_QueueSubscribe (natsSubscription **sub, natsConnection *nc, const char *subject, const char *queueGroup, natsMsgHandler cb, void *cbClosure) | 
|  | Creates an asynchronous queue subscriber. 
 | 
|  | 
| NATS_EXTERN natsStatus | natsConnection_QueueSubscribeTimeout (natsSubscription **sub, natsConnection *nc, const char *subject, const char *queueGroup, int64_t timeout, natsMsgHandler cb, void *cbClosure) | 
|  | Creates an asynchronous queue subscriber with a timeout. 
 | 
|  | 
| NATS_EXTERN natsStatus | natsConnection_QueueSubscribeSync (natsSubscription **sub, natsConnection *nc, const char *subject, const char *queueGroup) | 
|  | Creates a synchronous queue subscriber. 
 | 
|  | 
| NATS_EXTERN natsStatus | natsSubscription_NoDeliveryDelay (natsSubscription *sub) | 
|  | Enables the No Delivery Delay mode. 
 | 
|  | 
| NATS_EXTERN natsStatus | natsSubscription_NextMsg (natsMsg **nextMsg, natsSubscription *sub, int64_t timeout) | 
|  | Returns the next available message. 
 | 
|  | 
| NATS_EXTERN natsStatus | natsSubscription_Unsubscribe (natsSubscription *sub) | 
|  | Unsubscribes. 
 | 
|  | 
| NATS_EXTERN natsStatus | natsSubscription_AutoUnsubscribe (natsSubscription *sub, int max) | 
|  | Auto-Unsubscribes. 
 | 
|  | 
| NATS_EXTERN natsStatus | natsSubscription_QueuedMsgs (natsSubscription *sub, uint64_t *queuedMsgs) | 
|  | Gets the number of pending messages. 
 | 
|  | 
| NATS_EXTERN int64_t | natsSubscription_GetID (natsSubscription *sub) | 
|  | Gets the subscription id. 
 | 
|  | 
| NATS_EXTERN const char * | natsSubscription_GetSubject (natsSubscription *sub) | 
|  | Gets the subject name. 
 | 
|  | 
| NATS_EXTERN natsStatus | natsSubscription_SetPendingLimits (natsSubscription *sub, int msgLimit, int bytesLimit) | 
|  | Sets the limit for pending messages and bytes. 
 | 
|  | 
| NATS_EXTERN natsStatus | natsSubscription_GetPendingLimits (natsSubscription *sub, int *msgLimit, int *bytesLimit) | 
|  | Returns the current limit for pending messages and bytes. 
 | 
|  | 
| NATS_EXTERN natsStatus | natsSubscription_GetPending (natsSubscription *sub, int *msgs, int *bytes) | 
|  | Returns the number of pending messages and bytes. 
 | 
|  | 
| NATS_EXTERN natsStatus | natsSubscription_GetDelivered (natsSubscription *sub, int64_t *msgs) | 
|  | Returns the number of delivered messages. 
 | 
|  | 
| NATS_EXTERN natsStatus | natsSubscription_GetDropped (natsSubscription *sub, int64_t *msgs) | 
|  | Returns the number of dropped messages. 
 | 
|  | 
| NATS_EXTERN natsStatus | natsSubscription_GetMaxPending (natsSubscription *sub, int *msgs, int *bytes) | 
|  | Returns the maximum number of pending messages and bytes. 
 | 
|  | 
| NATS_EXTERN natsStatus | natsSubscription_ClearMaxPending (natsSubscription *sub) | 
|  | Clears the statistics regarding the maximum pending values. 
 | 
|  | 
| NATS_EXTERN natsStatus | natsSubscription_GetStats (natsSubscription *sub, int *pendingMsgs, int *pendingBytes, int *maxPendingMsgs, int *maxPendingBytes, int64_t *deliveredMsgs, int64_t *droppedMsgs) | 
|  | Get various statistics from this subscription. 
 | 
|  | 
| NATS_EXTERN bool | natsSubscription_IsValid (natsSubscription *sub) | 
|  | Checks the validity of the subscription. 
 | 
|  | 
| NATS_EXTERN natsStatus | natsSubscription_Drain (natsSubscription *sub) | 
|  | Drains the subscription with a default timeout. 
 | 
|  | 
| NATS_EXTERN natsStatus | natsSubscription_DrainTimeout (natsSubscription *sub, int64_t timeout) | 
|  | Drains the subscription with the specified timeout. 
 | 
|  | 
| NATS_EXTERN natsStatus | natsSubscription_WaitForDrainCompletion (natsSubscription *sub, int64_t timeout) | 
|  | Blocks until the drain operation completes. 
 | 
|  | 
| NATS_EXTERN natsStatus | natsSubscription_DrainCompletionStatus (natsSubscription *sub) | 
|  | Returns the status of the drain after completion. 
 | 
|  | 
| NATS_EXTERN natsStatus | natsSubscription_SetOnCompleteCB (natsSubscription *sub, natsOnCompleteCB cb, void *closure) | 
|  | Sets a completion callback. 
 | 
|  | 
| NATS_EXTERN void | natsSubscription_Destroy (natsSubscription *sub) | 
|  | Destroys the subscription. 
 | 
|  | 
| NATS_EXTERN natsStatus | stanConnection_Connect (stanConnection **sc, const char *clusterID, const char *clientID, stanConnOptions *options) | 
|  | Connects to a NATS Streaming Serverusing the provided options.
 | 
|  | 
| NATS_EXTERN natsStatus | stanConnection_GetNATSConnection (stanConnection *sc, natsConnection **nc) | 
|  | Returns the underlying NATS Connection. 
 | 
|  | 
| NATS_EXTERN void | stanConnection_ReleaseNATSConnection (stanConnection *sc) | 
|  | Releases the NATS Connection. 
 | 
|  | 
| NATS_EXTERN natsStatus | stanConnection_Close (stanConnection *sc) | 
|  | Closes the connection. 
 | 
|  | 
| NATS_EXTERN natsStatus | stanConnection_Destroy (stanConnection *sc) | 
|  | Destroys the connection object. 
 | 
|  | 
| NATS_EXTERN natsStatus | stanConnection_Publish (stanConnection *sc, const char *channel, const void *data, int dataLen) | 
|  | Publishes data on a channel. 
 | 
|  | 
| NATS_EXTERN natsStatus | stanConnection_PublishAsync (stanConnection *sc, const char *channel, const void *data, int dataLen, stanPubAckHandler ah, void *ahClosure) | 
|  | Asynchronously publishes data on a channel. 
 | 
|  | 
| NATS_EXTERN natsStatus | stanConnection_Subscribe (stanSubscription **sub, stanConnection *sc, const char *channel, stanMsgHandler cb, void *cbClosure, stanSubOptions *options) | 
|  | Creates a subscription. 
 | 
|  | 
| NATS_EXTERN natsStatus | stanConnection_QueueSubscribe (stanSubscription **sub, stanConnection *sc, const char *channel, const char *queueGroup, stanMsgHandler cb, void *cbClosure, stanSubOptions *options) | 
|  | Creates a queue subscription. 
 | 
|  | 
| NATS_EXTERN natsStatus | stanSubscription_SetOnCompleteCB (stanSubscription *sub, natsOnCompleteCB cb, void *closure) | 
|  | Sets a completion callback. 
 | 
|  | 
| NATS_EXTERN natsStatus | stanSubscription_AckMsg (stanSubscription *sub, stanMsg *msg) | 
|  | Acknowledge a message. 
 | 
|  | 
| NATS_EXTERN natsStatus | stanSubscription_Unsubscribe (stanSubscription *sub) | 
|  | Permanently remove a subscription. 
 | 
|  | 
| NATS_EXTERN natsStatus | stanSubscription_Close (stanSubscription *sub) | 
|  | Closes the subscription. 
 | 
|  | 
| NATS_EXTERN void | stanSubscription_Destroy (stanSubscription *sub) | 
|  | Destroys the subscription. 
 | 
|  | 
| NATS_EXTERN natsStatus | jsOptions_Init (jsOptions *opts) | 
|  | Initializes a streaming context options structure. 
 | 
|  | 
| NATS_EXTERN natsStatus | natsConnection_JetStream (jsCtx **js, natsConnection *nc, jsOptions *opts) | 
|  | Returns a new JetStream context. 
 | 
|  | 
| NATS_EXTERN void | jsCtx_Destroy (jsCtx *js) | 
|  | Destroys the JetStream context. 
 | 
|  | 
| NATS_EXTERN natsStatus | jsStreamConfig_Init (jsStreamConfig *cfg) | 
|  | Initializes a streaming configuration structure. 
 | 
|  | 
| NATS_EXTERN natsStatus | jsPlacement_Init (jsPlacement *placement) | 
|  | Initializes a placement configuration structure. 
 | 
|  | 
| NATS_EXTERN natsStatus | jsStreamSource_Init (jsStreamSource *source) | 
|  | Initializes a stream source configuration structure. 
 | 
|  | 
| NATS_EXTERN natsStatus | jsExternalStream_Init (jsExternalStream *external) | 
|  | Initializes an external stream configuration structure. 
 | 
|  | 
| NATS_EXTERN natsStatus | jsRePublish_Init (jsRePublish *rp) | 
|  | Initializes a republish structure. 
 | 
|  | 
| NATS_EXTERN natsStatus | js_AddStream (jsStreamInfo **si, jsCtx *js, jsStreamConfig *cfg, jsOptions *opts, jsErrCode *errCode) | 
|  | Creates a stream. 
 | 
|  | 
| NATS_EXTERN natsStatus | js_UpdateStream (jsStreamInfo **si, jsCtx *js, jsStreamConfig *cfg, jsOptions *opts, jsErrCode *errCode) | 
|  | Updates a stream. 
 | 
|  | 
| NATS_EXTERN natsStatus | js_PurgeStream (jsCtx *js, const char *stream, jsOptions *opts, jsErrCode *errCode) | 
|  | Purges a stream. 
 | 
|  | 
| NATS_EXTERN natsStatus | js_DeleteStream (jsCtx *js, const char *stream, jsOptions *opts, jsErrCode *errCode) | 
|  | Deletes a stream. 
 | 
|  | 
| NATS_EXTERN natsStatus | js_GetMsg (natsMsg **msg, jsCtx *js, const char *stream, uint64_t seq, jsOptions *opts, jsErrCode *errCode) | 
|  | Retrieves a JetStream message from the stream by sequence. 
 | 
|  | 
| NATS_EXTERN natsStatus | js_GetLastMsg (natsMsg **msg, jsCtx *js, const char *stream, const char *subject, jsOptions *opts, jsErrCode *errCode) | 
|  | Retrieves the last JetStream message from the stream for a given subject. 
 | 
|  | 
| NATS_EXTERN natsStatus | jsDirectGetMsgOptions_Init (jsDirectGetMsgOptions *opts) | 
|  | Initializes a direct get message options structure. 
 | 
|  | 
| NATS_EXTERN natsStatus | js_DirectGetMsg (natsMsg **msg, jsCtx *js, const char *stream, jsOptions *opts, jsDirectGetMsgOptions *dgOpts) | 
|  | Retrieves directly a JetStream message based on provided options. 
 | 
|  | 
| NATS_EXTERN natsStatus | js_DeleteMsg (jsCtx *js, const char *stream, uint64_t seq, jsOptions *opts, jsErrCode *errCode) | 
|  | Deletes a message from the stream. 
 | 
|  | 
| NATS_EXTERN natsStatus | js_EraseMsg (jsCtx *js, const char *stream, uint64_t seq, jsOptions *opts, jsErrCode *errCode) | 
|  | Erases a message from the stream. 
 | 
|  | 
| NATS_EXTERN natsStatus | js_GetStreamInfo (jsStreamInfo **si, jsCtx *js, const char *stream, jsOptions *opts, jsErrCode *errCode) | 
|  | Retreives information from a stream. 
 | 
|  | 
| NATS_EXTERN void | jsStreamInfo_Destroy (jsStreamInfo *si) | 
|  | Destroys the stream information object. 
 | 
|  | 
| NATS_EXTERN natsStatus | js_Streams (jsStreamInfoList **list, jsCtx *js, jsOptions *opts, jsErrCode *errCode) | 
|  | Retrieves the list of all available streams. 
 | 
|  | 
| NATS_EXTERN void | jsStreamInfoList_Destroy (jsStreamInfoList *list) | 
|  | Destroys the stream information list object. 
 | 
|  | 
| NATS_EXTERN natsStatus | js_StreamNames (jsStreamNamesList **list, jsCtx *js, jsOptions *opts, jsErrCode *errCode) | 
|  | Retrieves the list of all available stream names. 
 | 
|  | 
| NATS_EXTERN void | jsStreamNamesList_Destroy (jsStreamNamesList *list) | 
|  | Destroys the stream names list object. 
 | 
|  | 
| NATS_EXTERN natsStatus | jsConsumerConfig_Init (jsConsumerConfig *cc) | 
|  | Initializes a consumer configuration structure. 
 | 
|  | 
| NATS_EXTERN natsStatus | js_AddConsumer (jsConsumerInfo **ci, jsCtx *js, const char *stream, jsConsumerConfig *cfg, jsOptions *opts, jsErrCode *errCode) | 
|  | Adds a JetStream consumer. 
 | 
|  | 
| NATS_EXTERN natsStatus | js_UpdateConsumer (jsConsumerInfo **ci, jsCtx *js, const char *stream, jsConsumerConfig *cfg, jsOptions *opts, jsErrCode *errCode) | 
|  | Updates a JetStream consumer. 
 | 
|  | 
| NATS_EXTERN natsStatus | js_GetConsumerInfo (jsConsumerInfo **ci, jsCtx *js, const char *stream, const char *consumer, jsOptions *opts, jsErrCode *errCode) | 
|  | Retrieves information about a consumer. 
 | 
|  | 
| NATS_EXTERN natsStatus | js_DeleteConsumer (jsCtx *js, const char *stream, const char *consumer, jsOptions *opts, jsErrCode *errCode) | 
|  | Deletes a consumer. 
 | 
|  | 
| NATS_EXTERN void | jsConsumerInfo_Destroy (jsConsumerInfo *ci) | 
|  | Destroys the consumer information object. 
 | 
|  | 
| NATS_EXTERN natsStatus | js_Consumers (jsConsumerInfoList **list, jsCtx *js, const char *stream, jsOptions *opts, jsErrCode *errCode) | 
|  | Retrieves the list of all available consumers for a stream. 
 | 
|  | 
| NATS_EXTERN void | jsConsumerInfoList_Destroy (jsConsumerInfoList *list) | 
|  | Destroys the consumer information list object. 
 | 
|  | 
| NATS_EXTERN natsStatus | js_ConsumerNames (jsConsumerNamesList **list, jsCtx *js, const char *stream, jsOptions *opts, jsErrCode *errCode) | 
|  | Retrieves the list of all available consumer names for a stream. 
 | 
|  | 
| NATS_EXTERN void | jsConsumerNamesList_Destroy (jsConsumerNamesList *list) | 
|  | Destroys the consumer names list object. 
 | 
|  | 
| NATS_EXTERN natsStatus | js_GetAccountInfo (jsAccountInfo **ai, jsCtx *js, jsOptions *opts, jsErrCode *errCode) | 
|  | Retrieves information about the JetStream usage from an account. 
 | 
|  | 
| NATS_EXTERN void | jsAccountInfo_Destroy (jsAccountInfo *ai) | 
|  | Destroys the account information object. 
 | 
|  | 
| NATS_EXTERN natsStatus | jsPubOptions_Init (jsPubOptions *opts) | 
|  | Initializes a publish options structure. 
 | 
|  | 
| NATS_EXTERN natsStatus | js_Publish (jsPubAck **pubAck, jsCtx *js, const char *subj, const void *data, int dataLen, jsPubOptions *opts, jsErrCode *errCode) | 
|  | Publishes data on a subject to JetStream. 
 | 
|  | 
| NATS_EXTERN natsStatus | js_PublishMsg (jsPubAck **pubAck, jsCtx *js, natsMsg *msg, jsPubOptions *opts, jsErrCode *errCode) | 
|  | Publishes a message to JetStream. 
 | 
|  | 
| NATS_EXTERN void | jsPubAck_Destroy (jsPubAck *pubAck) | 
|  | Destroys the publish acknowledgment object. 
 | 
|  | 
| NATS_EXTERN natsStatus | js_PublishAsync (jsCtx *js, const char *subj, const void *data, int dataLen, jsPubOptions *opts) | 
|  | Publishes data to JetStream but does not wait for a jsPubAck. 
 | 
|  | 
| NATS_EXTERN natsStatus | js_PublishMsgAsync (jsCtx *js, natsMsg **msg, jsPubOptions *opts) | 
|  | Publishes a message to JetStream but does not wait for a jsPubAck. 
 | 
|  | 
| NATS_EXTERN natsStatus | js_PublishAsyncComplete (jsCtx *js, jsPubOptions *opts) | 
|  | Wait for all outstanding messages to be acknowledged. 
 | 
|  | 
| NATS_EXTERN natsStatus | js_PublishAsyncGetPendingList (natsMsgList *pending, jsCtx *js) | 
|  | Returns the list of pending messages published asynchronously. 
 | 
|  | 
| NATS_EXTERN natsStatus | jsSubOptions_Init (jsSubOptions *opts) | 
|  | Initializes a subscribe options structure. 
 | 
|  | 
| NATS_EXTERN natsStatus | js_Subscribe (natsSubscription **sub, jsCtx *js, const char *subject, natsMsgHandler cb, void *cbClosure, jsOptions *opts, jsSubOptions *subOpts, jsErrCode *errCode) | 
|  | Create an asynchronous subscription. 
 | 
|  | 
| NATS_EXTERN natsStatus | js_SubscribeSync (natsSubscription **sub, jsCtx *js, const char *subject, jsOptions *opts, jsSubOptions *subOpts, jsErrCode *errCode) | 
|  | Create a synchronous subscription. 
 | 
|  | 
| NATS_EXTERN natsStatus | js_PullSubscribe (natsSubscription **sub, jsCtx *js, const char *subject, const char *durable, jsOptions *opts, jsSubOptions *subOpts, jsErrCode *errCode) | 
|  | Create a pull subscriber. 
 | 
|  | 
| NATS_EXTERN natsStatus | natsSubscription_Fetch (natsMsgList *list, natsSubscription *sub, int batch, int64_t timeout, jsErrCode *errCode) | 
|  | Fetches messages for a pull subscription. 
 | 
|  | 
| NATS_EXTERN natsStatus | jsFetchRequest_Init (jsFetchRequest *request) | 
|  | Initializes a fetch request options structure. 
 | 
|  | 
| NATS_EXTERN natsStatus | natsSubscription_FetchRequest (natsMsgList *list, natsSubscription *sub, jsFetchRequest *request) | 
|  | Fetches messages for a pull subscription with a complete request configuration. 
 | 
|  | 
| NATS_EXTERN natsStatus | natsSubscription_GetConsumerInfo (jsConsumerInfo **ci, natsSubscription *sub, jsOptions *opts, jsErrCode *errCode) | 
|  | Returns the jsConsumerInfo associated with this subscription. 
 | 
|  | 
| NATS_EXTERN natsStatus | natsSubscription_GetSequenceMismatch (jsConsumerSequenceMismatch *csm, natsSubscription *sub) | 
|  | Returns the consumer sequence mismatch information. 
 | 
|  | 
| NATS_EXTERN natsStatus | natsMsg_GetMetaData (jsMsgMetaData **new_meta, natsMsg *msg) | 
|  | Returns metadata from this JetStream message. 
 | 
|  | 
| NATS_EXTERN void | jsMsgMetaData_Destroy (jsMsgMetaData *meta) | 
|  | Destroys the message metadata object. 
 | 
|  | 
| NATS_EXTERN natsStatus | natsMsg_Ack (natsMsg *msg, jsOptions *opts) | 
|  | Acknowledges a message. 
 | 
|  | 
| NATS_EXTERN natsStatus | natsMsg_AckSync (natsMsg *msg, jsOptions *opts, jsErrCode *errCode) | 
|  | Acknowledges a message and wait for a confirmation. 
 | 
|  | 
| NATS_EXTERN natsStatus | natsMsg_Nak (natsMsg *msg, jsOptions *opts) | 
|  | Negatively acknowledges a message. 
 | 
|  | 
| NATS_EXTERN natsStatus | natsMsg_NakWithDelay (natsMsg *msg, int64_t delay, jsOptions *opts) | 
|  | Negatively acknowledges a message. 
 | 
|  | 
| NATS_EXTERN natsStatus | natsMsg_InProgress (natsMsg *msg, jsOptions *opts) | 
|  | Resets redelivery timer on the server. 
 | 
|  | 
| NATS_EXTERN natsStatus | natsMsg_Term (natsMsg *msg, jsOptions *opts) | 
|  | Abandon this message. 
 | 
|  | 
| NATS_EXTERN uint64_t | natsMsg_GetSequence (natsMsg *msg) | 
|  | Returns the sequence number of this JetStream message. 
 | 
|  | 
| NATS_EXTERN int64_t | natsMsg_GetTime (natsMsg *msg) | 
|  | Returns the timestamp (in UTC) of this JetStream message. 
 | 
|  | 
| NATS_EXTERN natsStatus | kvConfig_Init (kvConfig *cfg) | 
|  | Initializes a KeyValue configuration structure. 
 | 
|  | 
| NATS_EXTERN natsStatus | js_CreateKeyValue (kvStore **new_kv, jsCtx *js, kvConfig *cfg) | 
|  | Creates a KeyValue store with a given configuration. 
 | 
|  | 
| NATS_EXTERN natsStatus | js_KeyValue (kvStore **new_kv, jsCtx *js, const char *bucket) | 
|  | Looks-up and binds to an existing KeyValue store. 
 | 
|  | 
| NATS_EXTERN natsStatus | js_DeleteKeyValue (jsCtx *js, const char *bucket) | 
|  | Deletes a KeyValue store. 
 | 
|  | 
| NATS_EXTERN void | kvStore_Destroy (kvStore *kv) | 
|  | Destroys a KeyValue store object. 
 | 
|  | 
| NATS_EXTERN const char * | kvEntry_Bucket (kvEntry *e) | 
|  | Returns the name of the bucket the data was loaded from. 
 | 
|  | 
| NATS_EXTERN const char * | kvEntry_Key (kvEntry *e) | 
|  | Returns the name of the key that was retrieved. 
 | 
|  | 
| NATS_EXTERN const void * | kvEntry_Value (kvEntry *e) | 
|  | Returns the value for this key. 
 | 
|  | 
| NATS_EXTERN int | kvEntry_ValueLen (kvEntry *e) | 
|  | Returns the value length for this key. 
 | 
|  | 
| NATS_EXTERN const char * | kvEntry_ValueString (kvEntry *e) | 
|  | Returns the value, as a string, for this key. 
 | 
|  | 
| NATS_EXTERN uint64_t | kvEntry_Revision (kvEntry *e) | 
|  | Returns the unique sequence for this value. 
 | 
|  | 
| NATS_EXTERN int64_t | kvEntry_Created (kvEntry *e) | 
|  | Returns the time (in UTC) the data was put in the bucket. 
 | 
|  | 
| NATS_EXTERN uint64_t | kvEntry_Delta (kvEntry *e) | 
|  | Returns the distance from the latest value. 
 | 
|  | 
| NATS_EXTERN kvOperation | kvEntry_Operation (kvEntry *e) | 
|  | Returns the type of operation of this value. 
 | 
|  | 
| NATS_EXTERN void | kvEntry_Destroy (kvEntry *e) | 
|  | Destroys the KeyValue entry object. 
 | 
|  | 
| NATS_EXTERN natsStatus | kvStore_Get (kvEntry **new_entry, kvStore *kv, const char *key) | 
|  | Returns the latest entry for the key. 
 | 
|  | 
| NATS_EXTERN natsStatus | kvStore_GetRevision (kvEntry **new_entry, kvStore *kv, const char *key, uint64_t revision) | 
|  | Returns the entry at the specific revision for the key. 
 | 
|  | 
| NATS_EXTERN natsStatus | kvStore_Put (uint64_t *rev, kvStore *kv, const char *key, const void *data, int len) | 
|  | Places the new value for the key into the store. 
 | 
|  | 
| NATS_EXTERN natsStatus | kvStore_PutString (uint64_t *rev, kvStore *kv, const char *key, const char *data) | 
|  | Places the new value (as a string) for the key into the store. 
 | 
|  | 
| NATS_EXTERN natsStatus | kvStore_Create (uint64_t *rev, kvStore *kv, const char *key, const void *data, int len) | 
|  | Places the value for the key into the store if and only if the key does not exist. 
 | 
|  | 
| NATS_EXTERN natsStatus | kvStore_CreateString (uint64_t *rev, kvStore *kv, const char *key, const char *data) | 
|  | Places the value (as a string) for the key into the store if and only if the key does not exist. 
 | 
|  | 
| NATS_EXTERN natsStatus | kvStore_Update (uint64_t *rev, kvStore *kv, const char *key, const void *data, int len, uint64_t last) | 
|  | Updates the value for the key into the store if and only if the latest revision matches. 
 | 
|  | 
| NATS_EXTERN natsStatus | kvStore_UpdateString (uint64_t *rev, kvStore *kv, const char *key, const char *data, uint64_t last) | 
|  | Updates the value (as a string) for the key into the store if and only if the latest revision matches. 
 | 
|  | 
| NATS_EXTERN natsStatus | kvStore_Delete (kvStore *kv, const char *key) | 
|  | Deletes a key by placing a delete marker and leaving all revisions. 
 | 
|  | 
| NATS_EXTERN natsStatus | kvStore_Purge (kvStore *kv, const char *key, kvPurgeOptions *opts) | 
|  | Deletes a key by placing a purge marker and removing all revisions. 
 | 
|  | 
| NATS_EXTERN natsStatus | kvWatchOptions_Init (kvWatchOptions *opts) | 
|  | Initializes a KeyValue watcher options structure. 
 | 
|  | 
| NATS_EXTERN natsStatus | kvPurgeOptions_Init (kvPurgeOptions *opts) | 
|  | Initializes a KeyValue purge options structure. 
 | 
|  | 
| NATS_EXTERN natsStatus | kvStore_PurgeDeletes (kvStore *kv, kvPurgeOptions *opts) | 
|  | Purge and removes delete markers. 
 | 
|  | 
| NATS_EXTERN natsStatus | kvStore_Watch (kvWatcher **new_watcher, kvStore *kv, const char *keys, kvWatchOptions *opts) | 
|  | Returns a watcher for any updates to keys that match the keysargument.
 | 
|  | 
| NATS_EXTERN natsStatus | kvStore_WatchAll (kvWatcher **new_watcher, kvStore *kv, kvWatchOptions *opts) | 
|  | Returns a watcher for any updates to any keys of the KeyValue store bucket. 
 | 
|  | 
| NATS_EXTERN natsStatus | kvStore_Keys (kvKeysList *list, kvStore *kv, kvWatchOptions *opts) | 
|  | Returns all keys in the bucket. 
 | 
|  | 
| NATS_EXTERN void | kvKeysList_Destroy (kvKeysList *list) | 
|  | Destroys this list of KeyValue store key strings. 
 | 
|  | 
| NATS_EXTERN natsStatus | kvStore_History (kvEntryList *list, kvStore *kv, const char *key, kvWatchOptions *opts) | 
|  | Returns all historical entries for the key. 
 | 
|  | 
| NATS_EXTERN void | kvEntryList_Destroy (kvEntryList *list) | 
|  | Destroys this list of KeyValue store entries. 
 | 
|  | 
| NATS_EXTERN const char * | kvStore_Bucket (kvStore *kv) | 
|  | Returns the bucket name of this KeyValue store object. 
 | 
|  | 
| NATS_EXTERN natsStatus | kvStore_Status (kvStatus **new_status, kvStore *kv) | 
|  | Returns the status and configuration of a bucket. 
 | 
|  | 
| NATS_EXTERN natsStatus | kvWatcher_Next (kvEntry **new_entry, kvWatcher *w, int64_t timeout) | 
|  | Returns the next entry for this watcher. 
 | 
|  | 
| NATS_EXTERN natsStatus | kvWatcher_Stop (kvWatcher *w) | 
|  | Stops the watcher. 
 | 
|  | 
| NATS_EXTERN void | kvWatcher_Destroy (kvWatcher *w) | 
|  | Destroys the KeyValue watcher object. 
 | 
|  | 
| NATS_EXTERN const char * | kvStatus_Bucket (kvStatus *sts) | 
|  | Returns the bucket name. 
 | 
|  | 
| NATS_EXTERN uint64_t | kvStatus_Values (kvStatus *sts) | 
|  | Returns how many messages are in the bucket, including historical values. 
 | 
|  | 
| NATS_EXTERN int64_t | kvStatus_History (kvStatus *sts) | 
|  | Returns the configured history kept per key. 
 | 
|  | 
| NATS_EXTERN int64_t | kvStatus_TTL (kvStatus *sts) | 
|  | Returns how long the bucket keeps values for. 
 | 
|  | 
| NATS_EXTERN int64_t | kvStatus_Replicas (kvStatus *sts) | 
|  | Returns the number of replicas to keep for a bucket. 
 | 
|  | 
| NATS_EXTERN uint64_t | kvStatus_Bytes (kvStatus *sts) | 
|  | Returns the size (in bytes) of this bucket. 
 | 
|  | 
| NATS_EXTERN void | kvStatus_Destroy (kvStatus *sts) | 
|  | Destroys the KeyValue status object. 
 | 
|  | 
| NATS_EXTERN microError * | micro_AddService (microService **new_microservice, natsConnection *nc, microServiceConfig *config) | 
|  | Creates and starts a new microservice. 
 | 
|  | 
| NATS_EXTERN microError * | microService_AddEndpoint (microService *m, microEndpointConfig *config) | 
|  | Adds an endpoint to a microservice and starts listening for messages. 
 | 
|  | 
| NATS_EXTERN microError * | microService_AddGroup (microGroup **new_group, microService *m, const char *prefix) | 
|  | Adds an group (prefix) to a microservice. 
 | 
|  | 
| NATS_EXTERN microError * | microService_Destroy (microService *m) | 
|  | Destroys a microservice, stopping it first if needed. 
 | 
|  | 
| NATS_EXTERN natsConnection * | microService_GetConnection (microService *m) | 
|  | Returns the connection associated with the service. If the service was successfully started, it is safe to assume it's not NULL, however it may already have been disconnected or closed. 
 | 
|  | 
| NATS_EXTERN microError * | microService_GetInfo (microServiceInfo **new_info, microService *m) | 
|  | Returns a microServiceInfo for a microservice. 
 | 
|  | 
| NATS_EXTERN void * | microService_GetState (microService *m) | 
|  | Returns the pointer to state data (closure). It is originally provided in microServiceConfig.State. 
 | 
|  | 
| NATS_EXTERN microError * | microService_GetStats (microServiceStats **new_stats, microService *m) | 
|  | Returns run-time statistics for a microservice. 
 | 
|  | 
| NATS_EXTERN bool | microService_IsStopped (microService *m) | 
|  | Checks if the service is stopped. 
 | 
|  | 
| NATS_EXTERN microError * | microService_Run (microService *m) | 
|  | Waits for a microservice to stop. 
 | 
|  | 
| NATS_EXTERN microError * | microService_Stop (microService *m) | 
|  | Stops a running microservice. 
 | 
|  | 
| NATS_EXTERN microError * | microGroup_AddGroup (microGroup **new_group, microGroup *parent, const char *prefix) | 
|  | Adds a sub-group to microGroup. 
 | 
|  | 
| NATS_EXTERN microError * | microGroup_AddEndpoint (microGroup *g, microEndpointConfig *config) | 
|  | Adds an endpoint to a microGroup and starts listening for messages. 
 | 
|  | 
| NATS_EXTERN microError * | microRequest_AddHeader (microRequest *req, const char *key, const char *value) | 
|  | Adds a header to the underlying NATS request message. 
 | 
|  | 
| NATS_EXTERN microError * | microRequest_DeleteHeader (microRequest *req, const char *key) | 
|  | Deletes a header from the underlying NATS request message. 
 | 
|  | 
| NATS_EXTERN natsConnection * | microRequest_GetConnection (microRequest *req) | 
|  | Returns the connection associated with the request. 
 | 
|  | 
| NATS_EXTERN const char * | microRequest_GetData (microRequest *req) | 
|  | Returns the data in the the request, as a byte array. 
 | 
|  | 
| NATS_EXTERN int | microRequest_GetDataLength (microRequest *req) | 
|  | Returns the number of data bytes in the the request. 
 | 
|  | 
| NATS_EXTERN void * | microRequest_GetEndpointState (microRequest *req) | 
|  | Returns the pointer to the user-provided endpoint state, if the request is associated with an endpoint. 
 | 
|  | 
| NATS_EXTERN microError * | microRequest_GetHeaderKeys (microRequest *req, const char ***keys, int *count) | 
|  | Gets the list of all header keys in the NATS message underlying the request. 
 | 
|  | 
| NATS_EXTERN microError * | microRequest_GetHeaderValue (microRequest *req, const char *key, const char **value) | 
|  | Get the header entry associated with keyfrom the NATS message underlying the request.
 | 
|  | 
| NATS_EXTERN microError * | microRequest_GetHeaderValues (microRequest *req, const char *key, const char ***values, int *count) | 
|  | Get all header values associated with keyfrom the NATS message underlying the request.
 | 
|  | 
| NATS_EXTERN natsMsg * | microRequest_GetMsg (microRequest *req) | 
|  | Get the NATS message underlying the request. 
 | 
|  | 
| NATS_EXTERN const char * | microRequest_GetReply (microRequest *req) | 
|  | Returns the reply subject set in this message. 
 | 
|  | 
| NATS_EXTERN microService * | microRequest_GetService (microRequest *req) | 
|  | Returns the pointer to the microservice associated with the request. 
 | 
|  | 
| NATS_EXTERN void * | microRequest_GetServiceState (microRequest *req) | 
|  | Returns the pointer to the user-provided service state. 
 | 
|  | 
| NATS_EXTERN const char * | microRequest_GetSubject (microRequest *req) | 
|  | Returns the subject of the request message. 
 | 
|  | 
| NATS_EXTERN microError * | microRequest_Respond (microRequest *req, const char *data, size_t len) | 
|  | Respond to a request, on the same NATS connection. 
 | 
|  | 
| NATS_EXTERN microError * | microRequest_RespondError (microRequest *req, microError *err) | 
|  | Respond to a request with a simple error. 
 | 
|  | 
| NATS_EXTERN microError * | microRequest_RespondCustom (microRequest *req, microError *err, const char *data, size_t len) | 
|  | Respond to a message, with an OK or an error. 
 | 
|  | 
| NATS_EXTERN microError * | microRequest_SetHeader (microRequest *req, const char *key, const char *value) | 
|  | Add valueto the header associated withkeyin the NATS message underlying the request.
 | 
|  | 
| NATS_EXTERN microError * | micro_Errorf (const char *format,...) | 
|  | creates a new microError, with a printf-like formatted message. 
 | 
|  | 
| NATS_EXTERN microError * | micro_ErrorfCode (int code, const char *format,...) | 
|  | creates a new microError, with a code and a printf-like formatted message. 
 | 
|  | 
| NATS_EXTERN microError * | micro_ErrorFromStatus (natsStatus s) | 
|  | Wraps a NATS status into a microError, if not a NATS_OK. 
 | 
|  | 
| NATS_EXTERN int | microError_Code (microError *err) | 
|  | returns the int code of the error. 
 | 
|  | 
| NATS_EXTERN void | microError_Destroy (microError *err) | 
|  | destroys a microError. 
 | 
|  | 
| NATS_EXTERN natsStatus | microError_Status (microError *err) | 
|  | Returns the NATS status associated with the error. 
 | 
|  | 
| NATS_EXTERN const char * | microError_String (microError *err, char *buf, size_t len) | 
|  | Returns a printable string with the error message. 
 | 
|  | 
| NATS_EXTERN microError * | microError_Wrapf (microError *err, const char *format,...) | 
|  | Wraps an exising microError with a higher printf-like formatted message. 
 | 
|  | 
| NATS_EXTERN microError * | micro_NewClient (microClient **new_client, natsConnection *nc, microClientConfig *cfg) | 
|  | Creates a new microservice client. 
 | 
|  | 
| NATS_EXTERN void | microClient_Destroy (microClient *client) | 
|  | Destroys a microservice client. 
 | 
|  | 
| NATS_EXTERN microError * | microClient_DoRequest (natsMsg **reply, microClient *client, const char *subject, const char *data, int data_len) | 
|  | Sends a request to a microservice and receives the response. 
 | 
|  | 
| NATS_EXTERN void | microServiceInfo_Destroy (microServiceInfo *info) | 
|  | Destroys a microServiceInfo object. 
 | 
|  | 
| NATS_EXTERN void | microServiceStats_Destroy (microServiceStats *stats) | 
|  | Destroys a microServiceStats object. 
 | 
|  |