summaryrefslogtreecommitdiff
path: root/utils/mcpu-library-search.h
blob: 3a90cb88f97cf2301cbc8fc6156ebfbdee152d27 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#ifndef __MCPU_LIBRARY_SEARCH_H__
#define __MCPU_LIBRARY_SEARCH_H__ 1

#include <stddef.h>

typedef struct mcpu_library_search mcpu_library_search;
struct mcpu_library_search
{
  char   **directory;
  size_t   count;
  size_t   capacity;
};

void mcpu_library_search_init( mcpu_library_search *search );
void mcpu_library_search_free( mcpu_library_search *search );
int  mcpu_library_search_add_directory( mcpu_library_search *search,
                                        const char *directory );
int  mcpu_library_search_add_list( mcpu_library_search *search,
                                   const char *list );
int  mcpu_library_search_resolve( const mcpu_library_search *search,
                                  const char *system_directory,
                                  const char *name, char **resolved );
int  mcpu_library_search_resolve_alternatives(
                                  const mcpu_library_search *search,
                                  const char *system_directory,
                                  const char *const *names, size_t name_count,
                                  char **resolved, size_t *selected_index );

#endif /* __MCPU_LIBRARY_SEARCH_H__ */