use hx509_certs_iter_f
This commit is contained in:
@@ -3,6 +3,8 @@
|
|||||||
* (Royal Institute of Technology, Stockholm, Sweden).
|
* (Royal Institute of Technology, Stockholm, Sweden).
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
|
* Portions Copyright (c) 2009 Apple Inc. All rights reserved.
|
||||||
|
*
|
||||||
* Redistribution and use in source and binary forms, with or without
|
* Redistribution and use in source and binary forms, with or without
|
||||||
* modification, are permitted provided that the following conditions
|
* modification, are permitted provided that the following conditions
|
||||||
* are met:
|
* are met:
|
||||||
@@ -323,7 +325,7 @@ hx509_certs_end_seq(hx509_context context,
|
|||||||
* @param certs certificate store to iterate over.
|
* @param certs certificate store to iterate over.
|
||||||
* @param func function to call for each certificate. The function
|
* @param func function to call for each certificate. The function
|
||||||
* should return non-zero to abort the iteration, that value is passed
|
* should return non-zero to abort the iteration, that value is passed
|
||||||
* back to te caller of hx509_certs_iter().
|
* back to the caller of hx509_certs_iter_f().
|
||||||
* @param ctx context variable that will passed to the function.
|
* @param ctx context variable that will passed to the function.
|
||||||
*
|
*
|
||||||
* @return Returns an hx509 error code.
|
* @return Returns an hx509 error code.
|
||||||
@@ -332,7 +334,7 @@ hx509_certs_end_seq(hx509_context context,
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
int
|
int
|
||||||
hx509_certs_iter(hx509_context context,
|
hx509_certs_iter_f(hx509_context context,
|
||||||
hx509_certs certs,
|
hx509_certs certs,
|
||||||
int (*func)(hx509_context, void *, hx509_cert),
|
int (*func)(hx509_context, void *, hx509_cert),
|
||||||
void *ctx)
|
void *ctx)
|
||||||
@@ -364,13 +366,46 @@ hx509_certs_iter(hx509_context context,
|
|||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Function to use to hx509_certs_iter() as a function argument, the
|
* Iterate over all certificates in a keystore and call an function
|
||||||
* ctx variable to hx509_certs_iter() should be a FILE file descriptor.
|
* for each fo them.
|
||||||
*
|
*
|
||||||
* @param context a hx509 context.
|
* @param context a hx509 context.
|
||||||
* @param ctx used by hx509_certs_iter().
|
* @param certs certificate store to iterate over.
|
||||||
|
* @param func function to call for each certificate. The function
|
||||||
|
* should return non-zero to abort the iteration, that value is passed
|
||||||
|
* back to the caller of hx509_certs_iter().
|
||||||
|
*
|
||||||
|
* @return Returns an hx509 error code.
|
||||||
|
*
|
||||||
|
* @ingroup hx509_keyset
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifdef __BLOCKS__
|
||||||
|
|
||||||
|
static int
|
||||||
|
certs_iter(hx509_context context, void *ctx, hx509_cert cert)
|
||||||
|
{
|
||||||
|
int (^func)(hx509_cert) = ctx;
|
||||||
|
return func(cert);
|
||||||
|
}
|
||||||
|
|
||||||
|
int
|
||||||
|
hx509_certs_iter(hx509_context context,
|
||||||
|
hx509_certs certs,
|
||||||
|
int (^func)(hx509_cert))
|
||||||
|
{
|
||||||
|
return hx509_certs_iter_f(context, certs, certs_iter, func);
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Function to use to hx509_certs_iter_f() as a function argument, the
|
||||||
|
* ctx variable to hx509_certs_iter_f() should be a FILE file descriptor.
|
||||||
|
*
|
||||||
|
* @param context a hx509 context.
|
||||||
|
* @param ctx used by hx509_certs_iter_f().
|
||||||
* @param c a certificate
|
* @param c a certificate
|
||||||
*
|
*
|
||||||
* @return Returns an hx509 error code.
|
* @return Returns an hx509 error code.
|
||||||
@@ -587,7 +622,7 @@ hx509_certs_merge(hx509_context context, hx509_certs to, hx509_certs from)
|
|||||||
{
|
{
|
||||||
if (from == NULL)
|
if (from == NULL)
|
||||||
return 0;
|
return 0;
|
||||||
return hx509_certs_iter(context, from, certs_merge_func, to);
|
return hx509_certs_iter_f(context, from, certs_merge_func, to);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
Reference in New Issue
Block a user