summaryrefslogblamecommitdiffstats
path: root/include/path.h
blob: ae36d7f4c91baefc4f35330f3513dd0fb3b67d3a (plain) (tree)
1
2
3
4
5
6
7
8
9


                         
                  
                   
 


                                                                           
                                                                        
 

                                                                                 
                                                                          
                                                                        
                                                                 
                                                                         
                                               



                                                                        

                                                                      



                     
                                                              
                                                                              
                                                               
                                                                               




                                                            


                              
#ifndef UTIL_LINUX_PATH_H
#define UTIL_LINUX_PATH_H

#include <stdio.h>
#include <stdint.h>

/* Returns a pointer to a static buffer which may be destroyed by any later
path_* function call. NULL means error and errno will be set. */
extern const char *path_get(const char *path, ...)
			__attribute__ ((__format__ (__printf__, 1, 2)));

extern FILE *path_fopen(const char *mode, int exit_on_err, const char *path, ...)
			__attribute__ ((__format__ (__printf__, 3, 4)));
extern void path_read_str(char *result, size_t len, const char *path, ...)
			__attribute__ ((__format__ (__printf__, 3, 4)));
extern int path_write_str(const char *str, const char *path, ...)
			 __attribute__ ((__format__ (__printf__, 2, 3)));
extern int path_read_s32(const char *path, ...)
			__attribute__ ((__format__ (__printf__, 1, 2)));
extern uint64_t path_read_u64(const char *path, ...)
			__attribute__ ((__format__ (__printf__, 1, 2)));

extern int path_exist(const char *path, ...)
		      __attribute__ ((__format__ (__printf__, 1, 2)));

#ifdef HAVE_CPU_SET_T
# include "cpuset.h"

extern cpu_set_t *path_read_cpuset(int, const char *path, ...)
			      __attribute__ ((__format__ (__printf__, 2, 3)));
extern cpu_set_t *path_read_cpulist(int, const char *path, ...)
			       __attribute__ ((__format__ (__printf__, 2, 3)));

/* Returns: 0 on success, sets errno on error. */
extern int path_set_prefix(const char *)
			__attribute__((warn_unused_result));

#endif /* HAVE_CPU_SET_T */

#endif /* UTIL_LINUX_PATH_H */