FileAndHash
mft_parse_filehash(const char *fn, struct mft *mft, const FileAndHash *fh,
mft_fh_cmp_name(const FileAndHash *const *a, const FileAndHash *const *b)
mft_fh_cmp_hash(const FileAndHash *const *a, const FileAndHash *const *b)
STACK_OF(FileAndHash) *fhs;
const FileAndHash *curr = sk_FileAndHash_value(fhs, i);
const FileAndHash *next = sk_FileAndHash_value(fhs, i + 1);
const FileAndHash *curr = sk_FileAndHash_value(fhs, i);
const FileAndHash *next = sk_FileAndHash_value(fhs, i + 1);
FileAndHash *fh;
ASN1_SEQUENCE_OF(Manifest, fileList, FileAndHash),
ASN1_SEQUENCE(FileAndHash) = {
ASN1_SIMPLE(FileAndHash, file, ASN1_IA5STRING),
ASN1_SIMPLE(FileAndHash, hash, ASN1_BIT_STRING),
} ASN1_SEQUENCE_END(FileAndHash);
DECLARE_STACK_OF(FileAndHash);
#define sk_FileAndHash_dup(sk) SKM_sk_dup(FileAndHash, (sk))
#define sk_FileAndHash_free(sk) SKM_sk_free(FileAndHash, (sk))
#define sk_FileAndHash_num(sk) SKM_sk_num(FileAndHash, (sk))
#define sk_FileAndHash_value(sk, i) SKM_sk_value(FileAndHash, (sk), (i))
#define sk_FileAndHash_sort(sk) SKM_sk_sort(FileAndHash, (sk))
SKM_sk_set_cmp_func(FileAndHash, (sk), (cmp))
STACK_OF(FileAndHash) *fileList;