Add the rt linux 4.1.3-rt3 as base
[kvmfornfv.git] / kernel / crypto / asymmetric_keys / verify_pefile.h
1 /* PE Binary parser bits
2  *
3  * Copyright (C) 2014 Red Hat, Inc. All Rights Reserved.
4  * Written by David Howells (dhowells@redhat.com)
5  *
6  * This program is free software; you can redistribute it and/or
7  * modify it under the terms of the GNU General Public Licence
8  * as published by the Free Software Foundation; either version
9  * 2 of the Licence, or (at your option) any later version.
10  */
11
12 #include <linux/verify_pefile.h>
13 #include <crypto/pkcs7.h>
14 #include <crypto/hash_info.h>
15
16 struct pefile_context {
17         unsigned        header_size;
18         unsigned        image_checksum_offset;
19         unsigned        cert_dirent_offset;
20         unsigned        n_data_dirents;
21         unsigned        n_sections;
22         unsigned        certs_size;
23         unsigned        sig_offset;
24         unsigned        sig_len;
25         const struct section_header *secs;
26         struct pkcs7_message *pkcs7;
27
28         /* PKCS#7 MS Individual Code Signing content */
29         const void      *digest;                /* Digest */
30         unsigned        digest_len;             /* Digest length */
31         enum hash_algo  digest_algo;            /* Digest algorithm */
32 };
33
34 #define kenter(FMT, ...)                                        \
35         pr_devel("==> %s("FMT")\n", __func__, ##__VA_ARGS__)
36 #define kleave(FMT, ...) \
37         pr_devel("<== %s()"FMT"\n", __func__, ##__VA_ARGS__)
38
39 /*
40  * mscode_parser.c
41  */
42 extern int mscode_parse(struct pefile_context *ctx);