1 /* -*- C -*- 2 * 3 * Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana 4 * University Research and Technology 5 * Corporation. All rights reserved. 6 * Copyright (c) 2004-2006 The University of Tennessee and The University 7 * of Tennessee Research Foundation. All rights 8 * reserved. 9 * Copyright (c) 2004-2005 High Performance Computing Center Stuttgart, 10 * University of Stuttgart. All rights reserved. 11 * Copyright (c) 2004-2005 The Regents of the University of California. 12 * All rights reserved. 13 * Copyright (c) 2007-2011 Cisco Systems, Inc. All rights reserved. 14 * Copyright (c) 2012-2013 Los Alamos National Security, Inc. All rights reserved. 15 * Copyright (c) 2014-2017 Intel, Inc. All rights reserved. 16 * Copyright (c) 2019 IBM Corporation. All rights reserved. 17 * $COPYRIGHT$ 18 * 19 * Additional copyrights may follow 20 * 21 * $HEADER$ 22 */ 23 /** 24 * @file 25 * 26 * Buffer management types. 27 */ 28 29 #ifndef PMIX_MCA_PREG_TYPES_H_ 30 #define PMIX_MCA_PREG_TYPES_H_ 31 32 #include <src/include/pmix_config.h> 33 34 35 #include "src/class/pmix_object.h" 36 #include "src/class/pmix_list.h" 37 38 BEGIN_C_DECLS 39 40 /* these classes are required by the regex code */ 41 typedef struct { 42 pmix_list_item_t super; 43 int start; 44 int cnt; 45 } pmix_regex_range_t; 46 PMIX_EXPORT PMIX_CLASS_DECLARATION(pmix_regex_range_t); 47 48 typedef struct { 49 /* list object */ 50 pmix_list_item_t super; 51 char *prefix; 52 char *suffix; 53 int num_digits; 54 pmix_list_t ranges; 55 bool skip; 56 } pmix_regex_value_t; 57 PMIX_EXPORT PMIX_CLASS_DECLARATION(pmix_regex_value_t); 58 59 END_C_DECLS 60 61 #endif /* PMIX_PREG_TYPES_H */