/* Initialize the OTR library. Pass the version of the API you are * using. */ void otrl_init(unsigned int ver_major, unsigned int ver_minor, unsigned int ver_sub) { unsigned int api_version; /* The major versions have to match, and you can't be using a newer * minor version than we expect. */ if (ver_major != OTRL_VERSION_MAJOR || ver_minor > OTRL_VERSION_MINOR) { fprintf(stderr, "Expected libotr API version %u.%u.%u incompatible " "with actual version %u.%u.%u. Aborting.\n", ver_major, ver_minor, ver_sub, OTRL_VERSION_MAJOR, OTRL_VERSION_MINOR, OTRL_VERSION_SUB); exit(1); } /* Set the API version. If we get called multiple times for some * reason, take the smallest value. */ api_version = (ver_major << 16) | (ver_minor << 8) | (ver_sub); if (otrl_api_version == 0 || otrl_api_version > api_version) { otrl_api_version = api_version; } /* Initialize the memory module */ otrl_mem_init(); /* Initialize the DH module */ otrl_dh_init(); /* Initialize the SM module */ otrl_sm_init(); }
/* Initialize the OTR library. Pass the version of the API you are * using. */ gcry_error_t otrl_init(unsigned int ver_major, unsigned int ver_minor, unsigned int ver_sub) { unsigned int api_version; /* The major versions have to match, and you can't be using a newer * minor version than we expect. */ if (ver_major != OTRL_VERSION_MAJOR || ver_minor > OTRL_VERSION_MINOR) { fprintf(stderr, "Expected libotr API version %u.%u.%u incompatible " "with actual version %u.%u.%u. Aborting.\n", ver_major, ver_minor, ver_sub, OTRL_VERSION_MAJOR, OTRL_VERSION_MINOR, OTRL_VERSION_SUB); return gcry_error(GPG_ERR_INV_VALUE); } /* Set the API version. If we get called multiple times for some * reason, take the smallest value. */ api_version = (ver_major << 16) | (ver_minor << 8) | (ver_sub); if (otrl_api_version == 0 || otrl_api_version > api_version) { otrl_api_version = api_version; } /* Initialize the memory module */ otrl_mem_init(); /* Initialize the DH module */ otrl_dh_init(); /* Initialize the SM module */ otrl_sm_init(); #if OTRL_DEBUGGING /* Inform the user that debugging is available */ fprintf(stderr, "\nlibotr debugging is available. Type %s in a message\n" " to see debug info.\n\n", OTRL_DEBUGGING_DEBUGSTR); #endif return gcry_error(GPG_ERR_NO_ERROR); }