GP11_DATE = -4
};
-#define GP11_INVALID (gulong)-1
+#define GP11_INVALID -1UL
+
+/* Used on varargs functions that should end with GP11_INVALID */
+#ifdef NOT_YET_SUPPORTED
+#define GP11_INVALID_TERMINATED __attribute__((__sentinel__(-1UL)))
+#else
+#define GP11_INVALID_TERMINATED
+#endif
void gp11_attribute_init (GP11Attribute *attr,
gulong attr_type,
GP11Attributes* gp11_attributes_new (void);
-GP11Attributes* gp11_attributes_new_empty (gulong attr_type, ...);
+GP11Attributes* gp11_attributes_new_empty (gulong attr_type,
+ ...) GP11_INVALID_TERMINATED;
GP11Attributes* gp11_attributes_new_full (GP11Allocator allocator);
-GP11Attributes* gp11_attributes_newv (gulong attr_type, ...);
+GP11Attributes* gp11_attributes_newv (gulong attr_type,
+ ...) GP11_INVALID_TERMINATED;
-GP11Attributes* gp11_attributes_new_valist (GP11Allocator allocator, va_list va);
+GP11Attributes* gp11_attributes_new_valist (GP11Allocator allocator,
+ va_list va);
GP11Attribute* gp11_attributes_at (GP11Attributes *attrs,
guint index);
gboolean gp11_module_enumerate_objects (GP11Module *self,
GP11ObjectForeachFunc func,
gpointer user_data,
- ...);
+ ...) GP11_INVALID_TERMINATED;
gboolean gp11_module_enumerate_objects_full (GP11Module *self,
GP11Attributes *attrs,
GP11Object* gp11_session_create_object (GP11Session *self,
GError **err,
- ...);
+ ...) GP11_INVALID_TERMINATED;
GP11Object* gp11_session_create_object_full (GP11Session *self,
GP11Attributes *attrs,
GList* gp11_session_find_objects (GP11Session *self,
GError **err,
- ...);
+ ...) GP11_INVALID_TERMINATED;
GList* gp11_session_find_objects_full (GP11Session *self,
GP11Attributes *attrs,
GP11Object* gp11_session_generate_key (GP11Session *self,
GP11Mechanism *mechanism,
GError **err,
- ...);
+ ...) GP11_INVALID_TERMINATED;
void gp11_session_generate_key_async (GP11Session *self,
GP11Mechanism *mechanism,
GAsyncReadyCallback callback,
gpointer user_data,
- ...);
+ ...) GP11_INVALID_TERMINATED;
GP11Object* gp11_session_generate_key_finish (GP11Session *self,
GAsyncResult *result,
GError **err,
- ...);
+ ...) GP11_INVALID_TERMINATED;
gboolean gp11_session_generate_key_pair (GP11Session *self,
GP11Mechanism *mechanism,
GP11Object **public_key,
GP11Object **private_key,
GError **err,
- ...);
+ ...) GP11_INVALID_TERMINATED;
void gp11_session_generate_key_pair_async (GP11Session *self,
GP11Mechanism *mechanism,
GAsyncReadyCallback callback,
gpointer user_data,
- ...);
+ ...) GP11_INVALID_TERMINATED;
gboolean gp11_session_generate_key_pair_finish (GP11Session *self,
GAsyncResult *result,
GP11Object **public_key,
GP11Object **private_key,
GError **err,
- ...);
+ ...) GP11_INVALID_TERMINATED;
gboolean gp11_session_seed_random (GP11Session *self,
const guchar *seed,
const guchar *input,
gsize n_input,
GError **err,
- ...);
+ ...) GP11_INVALID_TERMINATED;
GP11Object* gp11_session_unwrap (GP11Session *self,
GP11Object *key,
gsize n_input,
GCancellable *cancellable,
GError **err,
- ...);
+ ...) GP11_INVALID_TERMINATED;
void gp11_session_unwrap_async (GP11Session *self,
GP11Object *key,
GCancellable *cancellable,
GAsyncReadyCallback callback,
gpointer user_data);
- ...);
+ ...) GP11_INVALID_TERMINATED;
GP11Object* gp11_session_unwrap_finish (GP11Session *self,
GAsyncResult *result,
GP11Object *key,
gulong mech_type,
GError **err,
- ...);
+ ...) GP11_INVALID_TERMINATED;
GP11Object* gp11_session_derive_full (GP11Session *self,
GP11Object *key,
GP11Mechanism *mech_args,
GCancellable *cancellable,
GError **err,
- ...);
+ ...) GP11_INVALID_TERMINATED;
void gp11_session_derive_async (GP11Session *self,
GP11Object *key,
GCancellable *cancellable,
GAsyncReadyCallback callback,
gpointer user_data);
- ...);
+ ...) GP11_INVALID_TERMINATED;
GP11Object* gp11_session_derive_finish (GP11Session *self,
GAsyncResult *result,
gboolean gp11_object_set (GP11Object *self,
GError **err,
- ...);
+ ...) GP11_INVALID_TERMINATED;
gboolean gp11_object_set_full (GP11Object *self,
GP11Attributes *attrs,
GP11Attributes* gp11_object_get (GP11Object *self,
GError **err,
- ...);
+ ...) GP11_INVALID_TERMINATED;
GP11Attributes* gp11_object_get_full (GP11Object *self,
GP11Attributes *attrs,
$(GOBJECT_LIBS) \
$(NULL)
+# gtk-doc has warnings
+CFLAGS += "-Wno-error"
+
# This includes the standard gtk-doc make rules, copied by gtkdocize.
include $(top_srcdir)/gtk-doc.make
free_private_memory
free_public_memory
gp11_attributes_is_immutable
+gp11_attributes_new_valist
gp11_attributes_set_immutable
+gp11_object_get_full
gp11_object_get_one
gp11_object_get_one_async
gp11_object_get_one_finish
gp11_object_get_one_full
+gp11_object_set_full
+gp11_session_create_object_full
+gp11_session_derive_async
+gp11_session_derive_full
+gp11_session_find_objects_full
+gp11_session_generate_key_async
+gp11_session_generate_key_finish
+gp11_session_generate_key_pair
+gp11_session_generate_key_pair_async
+gp11_session_generate_key_pair_finish
+gp11_session_seed_random
+gp11_session_unwrap_async
gp11_slot_get_auto_login
gp11_slot_get_reuse_sessions
gp11_slot_set_auto_login
@attrs:
@Returns:
+<!-- ##### FUNCTION gp11_attributes_new_valist ##### -->
+<para>
+
+</para>
+
+@allocator:
+@va:
+@Returns:
+
<!-- ##### FUNCTION gp11_attributes_set_immutable ##### -->
<para>
@attrs:
+<!-- ##### FUNCTION gp11_object_get_full ##### -->
+<para>
+
+</para>
+
+@self:
+@attrs:
+@cancellable:
+@err:
+@Returns:
+
<!-- ##### FUNCTION gp11_object_get_one ##### -->
<para>
@err:
@Returns:
+<!-- ##### FUNCTION gp11_object_set_full ##### -->
+<para>
+
+</para>
+
+@self:
+@attrs:
+@cancellable:
+@err:
+@Returns:
+
+<!-- ##### FUNCTION gp11_session_create_object_full ##### -->
+<para>
+
+</para>
+
+@self:
+@attrs:
+@cancellable:
+@err:
+@Returns:
+
+<!-- ##### FUNCTION gp11_session_derive_async ##### -->
+<para>
+
+</para>
+
+@self:
+@key:
+@mech_args:
+@cancellable:
+@callback:
+@user_data:
+
+<!-- ##### FUNCTION gp11_session_derive_full ##### -->
+<para>
+
+</para>
+
+@self:
+@key:
+@mech_args:
+@cancellable:
+@err:
+@Varargs:
+@Returns:
+
+<!-- ##### FUNCTION gp11_session_find_objects_full ##### -->
+<para>
+
+</para>
+
+@self:
+@attrs:
+@cancellable:
+@err:
+@Returns:
+
+<!-- ##### FUNCTION gp11_session_generate_key_async ##### -->
+<para>
+
+</para>
+
+@self:
+@mechanism:
+@callback:
+@user_data:
+@Varargs:
+
+<!-- ##### FUNCTION gp11_session_generate_key_finish ##### -->
+<para>
+
+</para>
+
+@self:
+@result:
+@err:
+@Varargs:
+@Returns:
+
+<!-- ##### FUNCTION gp11_session_generate_key_pair ##### -->
+<para>
+
+</para>
+
+@self:
+@mechanism:
+@public_key:
+@private_key:
+@err:
+@Varargs:
+@Returns:
+
+<!-- ##### FUNCTION gp11_session_generate_key_pair_async ##### -->
+<para>
+
+</para>
+
+@self:
+@mechanism:
+@callback:
+@user_data:
+@Varargs:
+
+<!-- ##### FUNCTION gp11_session_generate_key_pair_finish ##### -->
+<para>
+
+</para>
+
+@self:
+@result:
+@public_key:
+@private_key:
+@err:
+@Varargs:
+@Returns:
+
+<!-- ##### FUNCTION gp11_session_seed_random ##### -->
+<para>
+
+</para>
+
+@self:
+@seed:
+@n_seed:
+@err:
+@Returns:
+
+<!-- ##### FUNCTION gp11_session_unwrap_async ##### -->
+<para>
+
+</para>
+
+@self:
+@key:
+@mech_args:
+@input:
+@n_input:
+@cancellable:
+@callback:
+@user_data:
+
<!-- ##### FUNCTION gp11_slot_get_auto_login ##### -->
<para>
</para>
@attr_type:
-@Varargs:
-@Returns:
-
-
-<!-- ##### FUNCTION gp11_attributes_new_valist ##### -->
-<para>
-
-</para>
-
-@allocator:
-@va:
@Returns:
@self:
@err:
-@Varargs:
-@Returns:
-
-
-<!-- ##### FUNCTION gp11_session_create_object_full ##### -->
-<para>
-
-</para>
-
-@self:
-@attrs:
-@cancellable:
-@err:
@Returns:
@self:
@err:
-@Varargs:
-@Returns:
-
-
-<!-- ##### FUNCTION gp11_session_find_objects_full ##### -->
-<para>
-
-</para>
-
-@self:
-@attrs:
-@cancellable:
-@err:
@Returns:
@self:
@mechanism:
@err:
-@Varargs:
-@Returns:
-
-
-<!-- ##### FUNCTION gp11_session_generate_key_async ##### -->
-<para>
-
-</para>
-
-@self:
-@mechanism:
-@callback:
-@user_data:
-@Varargs:
-
-
-<!-- ##### FUNCTION gp11_session_generate_key_finish ##### -->
-<para>
-
-</para>
-
-@self:
-@result:
-@err:
-@Varargs:
-@Returns:
-
-
-<!-- ##### FUNCTION gp11_session_generate_key_pair ##### -->
-<para>
-
-</para>
-
-@self:
-@mechanism:
-@public_key:
-@private_key:
-@err:
-@Varargs:
-@Returns:
-
-
-<!-- ##### FUNCTION gp11_session_generate_key_pair_async ##### -->
-<para>
-
-</para>
-
-@self:
-@mechanism:
-@callback:
-@user_data:
-@Varargs:
-
-
-<!-- ##### FUNCTION gp11_session_generate_key_pair_finish ##### -->
-<para>
-
-</para>
-
-@self:
-@result:
-@public_key:
-@private_key:
-@err:
-@Varargs:
-@Returns:
-
-
-<!-- ##### FUNCTION gp11_session_seed_random ##### -->
-<para>
-
-</para>
-
-@self:
-@seed:
-@n_seed:
-@err:
@Returns:
@input:
@n_input:
@err:
-@Varargs:
@Returns:
-<!-- ##### FUNCTION gp11_session_unwrap_async ##### -->
-<para>
-
-</para>
-
-@self:
-@key:
-@mech_args:
-@input:
-@n_input:
-@cancellable:
-@callback:
-@user_data:
-
-
<!-- ##### FUNCTION gp11_session_unwrap_finish ##### -->
<para>
@key:
@mech_type:
@err:
-@Varargs:
@Returns:
-<!-- ##### FUNCTION gp11_session_derive_full ##### -->
-<para>
-
-</para>
-
-@self:
-@key:
-@mech_args:
-@cancellable:
-@err:
-@Varargs:
-@Returns:
-
-
-<!-- ##### FUNCTION gp11_session_derive_async ##### -->
-<para>
-
-</para>
-
-@self:
-@key:
-@mech_args:
-@cancellable:
-@callback:
-@user_data:
-
-
<!-- ##### FUNCTION gp11_session_derive_finish ##### -->
<para>
@self:
@err:
-@Varargs:
-@Returns:
-
-
-<!-- ##### FUNCTION gp11_object_set_full ##### -->
-<para>
-
-</para>
-
-@self:
-@attrs:
-@cancellable:
-@err:
@Returns:
@self:
@err:
-@Varargs:
-@Returns:
-
-
-<!-- ##### FUNCTION gp11_object_get_full ##### -->
-<para>
-
-</para>
-
-@self:
-@attrs:
-@cancellable:
-@err:
@Returns:
/* Our token object */
attrs = gp11_attributes_newv (CKA_CLASS, GP11_ULONG, CKO_DATA,
CKA_LABEL, GP11_STRING, "TEST LABEL",
- -1);
+ GP11_INVALID);
g_hash_table_insert (the_objects, GUINT_TO_POINTER (2), attrs);
/* Private capitalize key */
CKA_ALLOWED_MECHANISMS, sizeof (value), &value,
CKA_DECRYPT, GP11_BOOLEAN, TRUE,
CKA_PRIVATE, GP11_BOOLEAN, TRUE,
- -1);
+ GP11_INVALID);
g_hash_table_insert (the_objects, GUINT_TO_POINTER (PRIVATE_KEY_CAPITALIZE), attrs);
/* Public capitalize key */
CKA_ALLOWED_MECHANISMS, sizeof (value), &value,
CKA_ENCRYPT, GP11_BOOLEAN, TRUE,
CKA_PRIVATE, GP11_BOOLEAN, FALSE,
- -1);
+ GP11_INVALID);
g_hash_table_insert (the_objects, GUINT_TO_POINTER (PUBLIC_KEY_CAPITALIZE), attrs);
/* Private prefix key */
CKA_SIGN, GP11_BOOLEAN, TRUE,
CKA_PRIVATE, GP11_BOOLEAN, TRUE,
CKA_ALWAYS_AUTHENTICATE, GP11_BOOLEAN, TRUE,
- -1);
+ GP11_INVALID);
g_hash_table_insert (the_objects, GUINT_TO_POINTER (PRIVATE_KEY_PREFIX), attrs);
/* Private prefix key */
CKA_ALLOWED_MECHANISMS, sizeof (value), &value,
CKA_VERIFY, GP11_BOOLEAN, TRUE,
CKA_PRIVATE, GP11_BOOLEAN, FALSE,
- -1);
+ GP11_INVALID);
g_hash_table_insert (the_objects, GUINT_TO_POINTER (PUBLIC_KEY_PREFIX), attrs);
initialized = TRUE;
202, GP11_STRING, "string",
303, GP11_DATE, date,
404, N_ATTR_DATA, ATTR_DATA,
- -1);
+ GP11_INVALID);
g_date_free (date);
test_attributes_contents (attrs, FALSE);