Orca Common Reference

Primitives

group OrcaTypes

Commonly used datatypes across various APIs.

Note

these datatypes are typedefs of C primitives, its purpose is to facilitate identification and “intent of use”.

Typedefs

typedef uint64_t u64_unix_ms_t

Unix time in milliseconds.

typedef uint64_t u64_snowflake_t

Snowflake datatype.

Used in APIs such as Twitter and Discord for their unique IDs

typedef char json_char_t

Raw JSON string.

Used for fields that have dynamic or unreliable types. A string made out of json_char_t should be used to keep a raw JSON, which can then be parsed with the assistance of a JSON library.

Global Resources

ORCAcode orca_global_init()

Initialize global shared-resources not API-specific.

Returns

ORCA_OK on success, ORCA_GLOBAL_INIT on error

void orca_global_cleanup()

Cleanup global shared-resources.

Error Codes

group OrcaCodes

Orca error values.

Defines

ORCA_OK 0

request was a success

ORCA_HTTP_CODE -1

request wasn’t succesful

ORCA_CURL_NO_RESPONSE -2

no response came through from curl

ORCA_UNUSUAL_HTTP_CODE -3

received a non-standard http code

ORCA_BAD_PARAMETER -4

bad value for parameter

ORCA_BAD_JSON -5

internal failure when encoding or decoding JSON

ORCA_CURLE_INTERNAL -6

curl’s easy handle internal error

ORCA_CURLM_INTERNAL -7

curl’s multi handle internal error

ORCA_GLOBAL_INIT -8

attempt to initialize globals more than once

Typedefs

typedef int ORCAcode

the error code datatype

const char *orca_strerror(ORCAcode code)

Return a generic meaning for ORCAcode.

Parameters
  • code – the ORCAcode to be explained

Returns

a string containing the code meaning

Limits

group OrcaLimits

Limits discovered across the web.

Defines

ORCA_LIMITS_SHA256 1024 + 1
ORCA_LIMITS_LOCALE 16 + 1
ORCA_LIMITS_EMAIL 254 + 1
ORCA_LIMITS_REGION 16 + 1