summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGravatar Nikias Bassen2024-12-02 06:36:29 +0100
committerGravatar Nikias Bassen2024-12-02 06:36:29 +0100
commit82c858ed25fe0629dec3a6b8ec1b217efd7f65ff (patch)
tree557e847856408520cca1325919086e57d0038f65
parent5235448cead2b6e6c9e891f9a95e89373669402f (diff)
downloadlibideviceactivation-82c858ed25fe0629dec3a6b8ec1b217efd7f65ff.tar.gz
libideviceactivation-82c858ed25fe0629dec3a6b8ec1b217efd7f65ff.tar.bz2
Move IDEVICE_ACTIVATION_API to public header
-rw-r--r--configure.ac10
-rw-r--r--include/libideviceactivation.h70
-rw-r--r--src/activation.c76
3 files changed, 84 insertions, 72 deletions
diff --git a/configure.ac b/configure.ac
index c84c6de..d4e1d79 100644
--- a/configure.ac
+++ b/configure.ac
@@ -73,12 +73,12 @@ esac
AM_CONDITIONAL(WIN32, test x$win32 = xtrue)
AS_COMPILER_FLAGS(GLOBAL_CFLAGS, "-Wall -Wextra -Wmissing-declarations -Wredundant-decls -Wshadow -Wpointer-arith -Wwrite-strings -Wswitch-default -Wno-unused-parameter -fsigned-char -fvisibility=hidden")
-AC_SUBST(GLOBAL_CFLAGS)
-case "$GLOBAL_CFLAGS" in
- *-fvisibility=hidden*)
- AC_DEFINE([HAVE_FVISIBILITY], [1], [Define if compiled with -fvisibility=hidden])
-esac
+if test "x$enable_static" = "xyes" -a "x$enable_shared" = "xno"; then
+ GLOBAL_CFLAGS+=" -DIDEVICE_ACTIVATION_STATIC"
+fi
+
+AC_SUBST(GLOBAL_CFLAGS)
m4_ifdef([AM_SILENT_RULES],[AM_SILENT_RULES([yes])])
diff --git a/include/libideviceactivation.h b/include/libideviceactivation.h
index 9b78c20..dbee85b 100644
--- a/include/libideviceactivation.h
+++ b/include/libideviceactivation.h
@@ -31,6 +31,16 @@ extern "C" {
#include <libimobiledevice/lockdown.h>
#include <plist/plist.h>
+#ifndef IDEVICE_ACTIVATION_API
+ #ifdef IDEVICE_ACTIVATION_STATIC
+ #define IDEVICE_ACTIVATION_API
+ #elif defined(_WIN32)
+ #define IDEVICE_ACTIVATION_API __declspec(dllimport)
+ #else
+ #define IDEVICE_ACTIVATION_API
+ #endif
+#endif
+
typedef enum {
IDEVICE_ACTIVATION_E_SUCCESS = 0,
IDEVICE_ACTIVATION_E_INCOMPLETE_INFO = -1,
@@ -55,44 +65,44 @@ typedef idevice_activation_response* idevice_activation_response_t;
/* Interface */
-void idevice_activation_set_debug_level(int level);
+IDEVICE_ACTIVATION_API void idevice_activation_set_debug_level(int level);
-idevice_activation_error_t idevice_activation_request_new(idevice_activation_client_type_t activation_type, idevice_activation_request_t* request);
-idevice_activation_error_t idevice_activation_request_new_from_lockdownd(idevice_activation_client_type_t activation_type, lockdownd_client_t lockdown, idevice_activation_request_t* request);
-idevice_activation_error_t idevice_activation_drm_handshake_request_new(idevice_activation_client_type_t client_type, idevice_activation_request_t* request);
-void idevice_activation_request_free(idevice_activation_request_t request);
+IDEVICE_ACTIVATION_API idevice_activation_error_t idevice_activation_request_new(idevice_activation_client_type_t activation_type, idevice_activation_request_t* request);
+IDEVICE_ACTIVATION_API idevice_activation_error_t idevice_activation_request_new_from_lockdownd(idevice_activation_client_type_t activation_type, lockdownd_client_t lockdown, idevice_activation_request_t* request);
+IDEVICE_ACTIVATION_API idevice_activation_error_t idevice_activation_drm_handshake_request_new(idevice_activation_client_type_t client_type, idevice_activation_request_t* request);
+IDEVICE_ACTIVATION_API void idevice_activation_request_free(idevice_activation_request_t request);
-void idevice_activation_request_get_fields(idevice_activation_request_t request, plist_t* fields);
-void idevice_activation_request_set_fields(idevice_activation_request_t request, plist_t fields);
-void idevice_activation_request_set_fields_from_response(idevice_activation_request_t request, const idevice_activation_response_t response);
-void idevice_activation_request_set_field(idevice_activation_request_t request, const char* key, const char* value);
-void idevice_activation_request_get_field(idevice_activation_request_t request, const char* key, char** value);
+IDEVICE_ACTIVATION_API void idevice_activation_request_get_fields(idevice_activation_request_t request, plist_t* fields);
+IDEVICE_ACTIVATION_API void idevice_activation_request_set_fields(idevice_activation_request_t request, plist_t fields);
+IDEVICE_ACTIVATION_API void idevice_activation_request_set_fields_from_response(idevice_activation_request_t request, const idevice_activation_response_t response);
+IDEVICE_ACTIVATION_API void idevice_activation_request_set_field(idevice_activation_request_t request, const char* key, const char* value);
+IDEVICE_ACTIVATION_API void idevice_activation_request_get_field(idevice_activation_request_t request, const char* key, char** value);
-void idevice_activation_request_get_url(idevice_activation_request_t request, const char** url);
-void idevice_activation_request_set_url(idevice_activation_request_t request, const char* url);
+IDEVICE_ACTIVATION_API void idevice_activation_request_get_url(idevice_activation_request_t request, const char** url);
+IDEVICE_ACTIVATION_API void idevice_activation_request_set_url(idevice_activation_request_t request, const char* url);
-idevice_activation_error_t idevice_activation_response_new(idevice_activation_response_t* response);
-idevice_activation_error_t idevice_activation_response_new_from_html(const char* content, idevice_activation_response_t* response);
-idevice_activation_error_t idevice_activation_response_to_buffer(idevice_activation_response_t response, char** buffer, size_t* size);
-void idevice_activation_response_free(idevice_activation_response_t response);
+IDEVICE_ACTIVATION_API idevice_activation_error_t idevice_activation_response_new(idevice_activation_response_t* response);
+IDEVICE_ACTIVATION_API idevice_activation_error_t idevice_activation_response_new_from_html(const char* content, idevice_activation_response_t* response);
+IDEVICE_ACTIVATION_API idevice_activation_error_t idevice_activation_response_to_buffer(idevice_activation_response_t response, char** buffer, size_t* size);
+IDEVICE_ACTIVATION_API void idevice_activation_response_free(idevice_activation_response_t response);
-void idevice_activation_response_get_field(idevice_activation_response_t response, const char* key, char** value);
-void idevice_activation_response_get_fields(idevice_activation_response_t response, plist_t* fields);
-void idevice_activation_response_get_label(idevice_activation_response_t response, const char* key, char** value);
-void idevice_activation_response_get_placeholder(idevice_activation_response_t response, const char* key, char **value);
+IDEVICE_ACTIVATION_API void idevice_activation_response_get_field(idevice_activation_response_t response, const char* key, char** value);
+IDEVICE_ACTIVATION_API void idevice_activation_response_get_fields(idevice_activation_response_t response, plist_t* fields);
+IDEVICE_ACTIVATION_API void idevice_activation_response_get_label(idevice_activation_response_t response, const char* key, char** value);
+IDEVICE_ACTIVATION_API void idevice_activation_response_get_placeholder(idevice_activation_response_t response, const char* key, char **value);
-void idevice_activation_response_get_title(idevice_activation_response_t response, const char** title);
-void idevice_activation_response_get_description(idevice_activation_response_t response, const char** description);
-void idevice_activation_response_get_activation_record(idevice_activation_response_t response, plist_t* activation_record);
-void idevice_activation_response_get_headers(idevice_activation_response_t response, plist_t* headers);
+IDEVICE_ACTIVATION_API void idevice_activation_response_get_title(idevice_activation_response_t response, const char** title);
+IDEVICE_ACTIVATION_API void idevice_activation_response_get_description(idevice_activation_response_t response, const char** description);
+IDEVICE_ACTIVATION_API void idevice_activation_response_get_activation_record(idevice_activation_response_t response, plist_t* activation_record);
+IDEVICE_ACTIVATION_API void idevice_activation_response_get_headers(idevice_activation_response_t response, plist_t* headers);
-int idevice_activation_response_is_activation_acknowledged(idevice_activation_response_t response);
-int idevice_activation_response_is_authentication_required(idevice_activation_response_t response);
-int idevice_activation_response_field_requires_input(idevice_activation_response_t response, const char* key);
-int idevice_activation_response_field_secure_input(idevice_activation_response_t response, const char* key);
-int idevice_activation_response_has_errors(idevice_activation_response_t response);
+IDEVICE_ACTIVATION_API int idevice_activation_response_is_activation_acknowledged(idevice_activation_response_t response);
+IDEVICE_ACTIVATION_API int idevice_activation_response_is_authentication_required(idevice_activation_response_t response);
+IDEVICE_ACTIVATION_API int idevice_activation_response_field_requires_input(idevice_activation_response_t response, const char* key);
+IDEVICE_ACTIVATION_API int idevice_activation_response_field_secure_input(idevice_activation_response_t response, const char* key);
+IDEVICE_ACTIVATION_API int idevice_activation_response_has_errors(idevice_activation_response_t response);
-idevice_activation_error_t idevice_activation_send_request(idevice_activation_request_t request, idevice_activation_response_t* response);
+IDEVICE_ACTIVATION_API idevice_activation_error_t idevice_activation_send_request(idevice_activation_request_t request, idevice_activation_response_t* response);
#ifdef __cplusplus
}
diff --git a/src/activation.c b/src/activation.c
index 8cf6c0a..2b329ce 100644
--- a/src/activation.c
+++ b/src/activation.c
@@ -32,14 +32,16 @@
#include <libxml/HTMLtree.h>
#include <curl/curl.h>
-#ifdef _WIN32
-#define IDEVICE_ACTIVATION_API __declspec( dllexport )
-#else
-#ifdef HAVE_FVISIBILITY
-#define IDEVICE_ACTIVATION_API __attribute__((visibility("default")))
+#ifdef IDEVICE_ACTIVATION_STATIC
+ #define IDEVICE_ACTIVATION_API
+#elif defined(_WIN32)
+ #define IDEVICE_ACTIVATION_API __declspec( dllexport )
#else
-#define IDEVICE_ACTIVATION_API
-#endif
+ #if __GNUC__ >= 4
+ #define IDEVICE_ACTIVATION_API __attribute__((visibility("default")))
+ #else
+ #define IDEVICE_ACTIVATION_API
+ #endif
#endif
#ifdef _WIN32
@@ -128,7 +130,7 @@ INITIALIZER(internal_libideviceactivation_init)
static int debug_level = 0;
-IDEVICE_ACTIVATION_API void idevice_activation_set_debug_level(int level) {
+void idevice_activation_set_debug_level(int level) {
debug_level = level;
}
@@ -685,7 +687,7 @@ static int idevice_activation_curl_debug_callback(CURL *handle, curl_infotype ty
return 0;
}
-IDEVICE_ACTIVATION_API idevice_activation_error_t idevice_activation_request_new(idevice_activation_client_type_t client_type, idevice_activation_request_t* request)
+idevice_activation_error_t idevice_activation_request_new(idevice_activation_client_type_t client_type, idevice_activation_request_t* request)
{
if (!request)
return IDEVICE_ACTIVATION_E_INTERNAL_ERROR;
@@ -705,7 +707,7 @@ IDEVICE_ACTIVATION_API idevice_activation_error_t idevice_activation_request_new
return IDEVICE_ACTIVATION_E_SUCCESS;
}
-IDEVICE_ACTIVATION_API idevice_activation_error_t idevice_activation_request_new_from_lockdownd(idevice_activation_client_type_t client_type, lockdownd_client_t lockdown, idevice_activation_request** request)
+idevice_activation_error_t idevice_activation_request_new_from_lockdownd(idevice_activation_client_type_t client_type, lockdownd_client_t lockdown, idevice_activation_request** request)
{
if (!lockdown || !request) {
return IDEVICE_ACTIVATION_E_INTERNAL_ERROR;
@@ -828,7 +830,7 @@ IDEVICE_ACTIVATION_API idevice_activation_error_t idevice_activation_request_new
return IDEVICE_ACTIVATION_E_SUCCESS;
}
-IDEVICE_ACTIVATION_API idevice_activation_error_t idevice_activation_drm_handshake_request_new(idevice_activation_client_type_t client_type, idevice_activation_request_t* request)
+idevice_activation_error_t idevice_activation_drm_handshake_request_new(idevice_activation_client_type_t client_type, idevice_activation_request_t* request)
{
if (!request)
return IDEVICE_ACTIVATION_E_INTERNAL_ERROR;
@@ -848,7 +850,7 @@ IDEVICE_ACTIVATION_API idevice_activation_error_t idevice_activation_drm_handsha
return IDEVICE_ACTIVATION_E_SUCCESS;
}
-IDEVICE_ACTIVATION_API void idevice_activation_request_free(idevice_activation_request_t request)
+void idevice_activation_request_free(idevice_activation_request_t request)
{
if (!request)
return;
@@ -857,7 +859,7 @@ IDEVICE_ACTIVATION_API void idevice_activation_request_free(idevice_activation_r
free(request);
}
-IDEVICE_ACTIVATION_API void idevice_activation_request_get_fields(idevice_activation_request_t request, plist_t* fields)
+void idevice_activation_request_get_fields(idevice_activation_request_t request, plist_t* fields)
{
if (!request || !fields)
return;
@@ -865,7 +867,7 @@ IDEVICE_ACTIVATION_API void idevice_activation_request_get_fields(idevice_activa
*fields = plist_copy(request->fields);
}
-IDEVICE_ACTIVATION_API void idevice_activation_request_set_fields(idevice_activation_request_t request, plist_t fields)
+void idevice_activation_request_set_fields(idevice_activation_request_t request, plist_t fields)
{
if (!request || !fields)
return;
@@ -887,7 +889,7 @@ IDEVICE_ACTIVATION_API void idevice_activation_request_set_fields(idevice_activa
plist_dict_merge(&request->fields, fields);
}
-IDEVICE_ACTIVATION_API void idevice_activation_request_set_fields_from_response(idevice_activation_request_t request, const idevice_activation_response_t response)
+void idevice_activation_request_set_fields_from_response(idevice_activation_request_t request, const idevice_activation_response_t response)
{
if (!request || !response)
return;
@@ -900,7 +902,7 @@ IDEVICE_ACTIVATION_API void idevice_activation_request_set_fields_from_response(
}
}
-IDEVICE_ACTIVATION_API void idevice_activation_request_set_field(idevice_activation_request_t request, const char* key, const char* value)
+void idevice_activation_request_set_field(idevice_activation_request_t request, const char* key, const char* value)
{
if (!request || !key || !value)
return;
@@ -908,7 +910,7 @@ IDEVICE_ACTIVATION_API void idevice_activation_request_set_field(idevice_activat
plist_dict_set_item(request->fields, key, plist_new_string(value));
}
-IDEVICE_ACTIVATION_API void idevice_activation_request_get_field(idevice_activation_request_t request, const char* key, char** value)
+void idevice_activation_request_get_field(idevice_activation_request_t request, const char* key, char** value)
{
if (!request || !key || !value)
return;
@@ -928,7 +930,7 @@ IDEVICE_ACTIVATION_API void idevice_activation_request_get_field(idevice_activat
*value = tmp_value;
}
-IDEVICE_ACTIVATION_API void idevice_activation_request_get_url(idevice_activation_request_t request, const char** url)
+void idevice_activation_request_get_url(idevice_activation_request_t request, const char** url)
{
if (!request || !url)
return;
@@ -936,7 +938,7 @@ IDEVICE_ACTIVATION_API void idevice_activation_request_get_url(idevice_activatio
*url = request->url;
}
-IDEVICE_ACTIVATION_API void idevice_activation_request_set_url(idevice_activation_request_t request, const char* url)
+void idevice_activation_request_set_url(idevice_activation_request_t request, const char* url)
{
if (!request || !url)
return;
@@ -945,7 +947,7 @@ IDEVICE_ACTIVATION_API void idevice_activation_request_set_url(idevice_activatio
request->url = strdup(url);
}
-IDEVICE_ACTIVATION_API idevice_activation_error_t idevice_activation_response_new(idevice_activation_response_t* response)
+idevice_activation_error_t idevice_activation_response_new(idevice_activation_response_t* response)
{
if (!response)
return IDEVICE_ACTIVATION_E_INTERNAL_ERROR;
@@ -976,7 +978,7 @@ IDEVICE_ACTIVATION_API idevice_activation_error_t idevice_activation_response_ne
return IDEVICE_ACTIVATION_E_SUCCESS;
}
-IDEVICE_ACTIVATION_API idevice_activation_error_t idevice_activation_response_new_from_html(const char* content, idevice_activation_response_t* response)
+idevice_activation_error_t idevice_activation_response_new_from_html(const char* content, idevice_activation_response_t* response)
{
if (!content || !response)
return IDEVICE_ACTIVATION_E_INTERNAL_ERROR;
@@ -1014,7 +1016,7 @@ IDEVICE_ACTIVATION_API idevice_activation_error_t idevice_activation_response_ne
return result;
}
-IDEVICE_ACTIVATION_API idevice_activation_error_t idevice_activation_response_to_buffer(idevice_activation_response_t response, char** buffer, size_t* size)
+idevice_activation_error_t idevice_activation_response_to_buffer(idevice_activation_response_t response, char** buffer, size_t* size)
{
if (!response || !buffer || !size)
return IDEVICE_ACTIVATION_E_INTERNAL_ERROR;
@@ -1032,7 +1034,7 @@ IDEVICE_ACTIVATION_API idevice_activation_error_t idevice_activation_response_to
return IDEVICE_ACTIVATION_E_SUCCESS;
}
-IDEVICE_ACTIVATION_API void idevice_activation_response_free(idevice_activation_response_t response)
+void idevice_activation_response_free(idevice_activation_response_t response)
{
if (!response)
return;
@@ -1050,7 +1052,7 @@ IDEVICE_ACTIVATION_API void idevice_activation_response_free(idevice_activation_
free(response);
}
-IDEVICE_ACTIVATION_API void idevice_activation_response_get_field(idevice_activation_response_t response, const char* key, char** value)
+void idevice_activation_response_get_field(idevice_activation_response_t response, const char* key, char** value)
{
if (!response || !key || !value)
return;
@@ -1063,14 +1065,14 @@ IDEVICE_ACTIVATION_API void idevice_activation_response_get_field(idevice_activa
}
}
-IDEVICE_ACTIVATION_API void idevice_activation_response_get_fields(idevice_activation_response_t response, plist_t* fields)
+void idevice_activation_response_get_fields(idevice_activation_response_t response, plist_t* fields)
{
if (response && response->fields && fields) {
*fields = plist_copy(response->fields);
}
}
-IDEVICE_ACTIVATION_API void idevice_activation_response_get_label(idevice_activation_response_t response, const char* key, char** value)
+void idevice_activation_response_get_label(idevice_activation_response_t response, const char* key, char** value)
{
if (!response || !key || !value)
return;
@@ -1082,7 +1084,7 @@ IDEVICE_ACTIVATION_API void idevice_activation_response_get_label(idevice_activa
}
}
-IDEVICE_ACTIVATION_API void idevice_activation_response_get_placeholder(idevice_activation_response_t response, const char* key, char** value)
+void idevice_activation_response_get_placeholder(idevice_activation_response_t response, const char* key, char** value)
{
if (!response || !key || !value)
return;
@@ -1094,7 +1096,7 @@ IDEVICE_ACTIVATION_API void idevice_activation_response_get_placeholder(idevice_
}
}
-IDEVICE_ACTIVATION_API void idevice_activation_response_get_title(idevice_activation_response_t response, const char** title)
+void idevice_activation_response_get_title(idevice_activation_response_t response, const char** title)
{
if (!response || !title)
return;
@@ -1102,7 +1104,7 @@ IDEVICE_ACTIVATION_API void idevice_activation_response_get_title(idevice_activa
*title = response->title;
}
-IDEVICE_ACTIVATION_API void idevice_activation_response_get_description(idevice_activation_response_t response, const char** description)
+void idevice_activation_response_get_description(idevice_activation_response_t response, const char** description)
{
if (!response || !description)
return;
@@ -1110,7 +1112,7 @@ IDEVICE_ACTIVATION_API void idevice_activation_response_get_description(idevice_
*description = response->description;
}
-IDEVICE_ACTIVATION_API void idevice_activation_response_get_activation_record(idevice_activation_response_t response, plist_t* activation_record)
+void idevice_activation_response_get_activation_record(idevice_activation_response_t response, plist_t* activation_record)
{
if (!response || !activation_record)
return;
@@ -1122,7 +1124,7 @@ IDEVICE_ACTIVATION_API void idevice_activation_response_get_activation_record(id
}
}
-IDEVICE_ACTIVATION_API void idevice_activation_response_get_headers(idevice_activation_response_t response, plist_t* headers)
+void idevice_activation_response_get_headers(idevice_activation_response_t response, plist_t* headers)
{
if (!response || !headers)
return;
@@ -1130,7 +1132,7 @@ IDEVICE_ACTIVATION_API void idevice_activation_response_get_headers(idevice_acti
*headers = plist_copy(response->headers);
}
-IDEVICE_ACTIVATION_API int idevice_activation_response_is_activation_acknowledged(idevice_activation_response_t response)
+int idevice_activation_response_is_activation_acknowledged(idevice_activation_response_t response)
{
if (!response)
return 0;
@@ -1138,7 +1140,7 @@ IDEVICE_ACTIVATION_API int idevice_activation_response_is_activation_acknowledge
return response->is_activation_ack;
}
-IDEVICE_ACTIVATION_API int idevice_activation_response_is_authentication_required(idevice_activation_response_t response)
+int idevice_activation_response_is_authentication_required(idevice_activation_response_t response)
{
if (!response)
return 0;
@@ -1146,7 +1148,7 @@ IDEVICE_ACTIVATION_API int idevice_activation_response_is_authentication_require
return response->is_auth_required;
}
-IDEVICE_ACTIVATION_API int idevice_activation_response_field_requires_input(idevice_activation_response_t response, const char* key)
+int idevice_activation_response_field_requires_input(idevice_activation_response_t response, const char* key)
{
if (!response || !key)
return 0;
@@ -1154,7 +1156,7 @@ IDEVICE_ACTIVATION_API int idevice_activation_response_field_requires_input(idev
return (plist_dict_get_item(response->fields_require_input, key) ? 1 : 0);
}
-IDEVICE_ACTIVATION_API int idevice_activation_response_field_secure_input(idevice_activation_response_t response, const char* key)
+int idevice_activation_response_field_secure_input(idevice_activation_response_t response, const char* key)
{
if (!response || !key)
return 0;
@@ -1162,7 +1164,7 @@ IDEVICE_ACTIVATION_API int idevice_activation_response_field_secure_input(idevic
return (plist_dict_get_item(response->fields_secure_input, key) ? 1 : 0);
}
-IDEVICE_ACTIVATION_API int idevice_activation_response_has_errors(idevice_activation_response_t response)
+int idevice_activation_response_has_errors(idevice_activation_response_t response)
{
if (!response)
return 0;
@@ -1170,7 +1172,7 @@ IDEVICE_ACTIVATION_API int idevice_activation_response_has_errors(idevice_activa
return response->has_errors;
}
-IDEVICE_ACTIVATION_API idevice_activation_error_t idevice_activation_send_request(idevice_activation_request_t request, idevice_activation_response_t* response)
+idevice_activation_error_t idevice_activation_send_request(idevice_activation_request_t request, idevice_activation_response_t* response)
{
idevice_activation_error_t result = IDEVICE_ACTIVATION_E_SUCCESS;