1 /*
2 * Copyright (c) 2004-2010 The Trustees of Indiana University and Indiana
3 * University Research and Technology
4 * Corporation. All rights reserved.
5 *
6 * Copyright (c) 2019 Intel, Inc. All rights reserved.
7 * $COPYRIGHT$
8 *
9 * Additional copyrights may follow
10 *
11 * $HEADER$
12 */
13 #ifndef OPAL_COMPRESS_BASE_H
14 #define OPAL_COMPRESS_BASE_H
15
16 #include "opal_config.h"
17 #include "opal/mca/compress/compress.h"
18 #include "opal/util/opal_environ.h"
19 #include "opal/runtime/opal_cr.h"
20
21 #include "opal/mca/base/base.h"
22
23 /*
24 * Global functions for MCA overall COMPRESS
25 */
26
27 #if defined(c_plusplus) || defined(__cplusplus)
28 extern "C" {
29 #endif
30
31 typedef struct {
32 size_t compress_limit;
33 } opal_compress_base_t;
34
35 OPAL_DECLSPEC extern opal_compress_base_t opal_compress_base;
36
37 /**
38 * Initialize the COMPRESS MCA framework
39 *
40 * @retval OPAL_SUCCESS Upon success
41 * @retval OPAL_ERROR Upon failures
42 *
43 * This function is invoked during opal_init();
44 */
45 OPAL_DECLSPEC int opal_compress_base_open(mca_base_open_flag_t flags);
46
47 /**
48 * Select an available component.
49 *
50 * @retval OPAL_SUCCESS Upon Success
51 * @retval OPAL_NOT_FOUND If no component can be selected
52 * @retval OPAL_ERROR Upon other failure
53 *
54 */
55 OPAL_DECLSPEC int opal_compress_base_select(void);
56
57 /**
58 * Finalize the COMPRESS MCA framework
59 *
60 * @retval OPAL_SUCCESS Upon success
61 * @retval OPAL_ERROR Upon failures
62 *
63 * This function is invoked during opal_finalize();
64 */
65 OPAL_DECLSPEC int opal_compress_base_close(void);
66
67 /**
68 * Globals
69 */
70 OPAL_DECLSPEC extern mca_base_framework_t opal_compress_base_framework;
71 OPAL_DECLSPEC extern opal_compress_base_component_t opal_compress_base_selected_component;
72 OPAL_DECLSPEC extern opal_compress_base_module_t opal_compress;
73
74 /**
75 *
76 */
77 OPAL_DECLSPEC int opal_compress_base_tar_create(char ** target);
78 OPAL_DECLSPEC int opal_compress_base_tar_extract(char ** target);
79
80 #if defined(c_plusplus) || defined(__cplusplus)
81 }
82 #endif
83
84 #endif /* OPAL_COMPRESS_BASE_H */