#include "config.h"
#include "macro.h"
-extern int cg_getattr(const char *path, struct stat *sb);
-extern int cg_mkdir(const char *path, mode_t mode);
-extern int cg_rmdir(const char *path);
-extern int cg_chmod(const char *path, mode_t mode);
-extern int cg_chown(const char *path, uid_t uid, gid_t gid);
-extern int cg_open(const char *path, struct fuse_file_info *fi);
-extern int cg_read(const char *path, char *buf, size_t size, off_t offset,
- struct fuse_file_info *fi);
-extern int cg_opendir(const char *path, struct fuse_file_info *fi);
-extern int cg_release(const char *path, struct fuse_file_info *fi);
-extern int cg_releasedir(const char *path, struct fuse_file_info *fi);
-extern int cg_write(const char *path, const char *buf, size_t size,
- off_t offset, struct fuse_file_info *fi);
-extern int cg_readdir(const char *path, void *buf, fuse_fill_dir_t filler,
- off_t offset, struct fuse_file_info *fi);
-extern int cg_access(const char *path, int mode);
+__visible extern int cg_getattr(const char *path, struct stat *sb);
+__visible extern int cg_mkdir(const char *path, mode_t mode);
+__visible extern int cg_rmdir(const char *path);
+__visible extern int cg_chmod(const char *path, mode_t mode);
+__visible extern int cg_chown(const char *path, uid_t uid, gid_t gid);
+__visible extern int cg_open(const char *path, struct fuse_file_info *fi);
+__visible extern int cg_read(const char *path, char *buf, size_t size, off_t offset, struct fuse_file_info *fi);
+__visible extern int cg_opendir(const char *path, struct fuse_file_info *fi);
+__visible extern int cg_release(const char *path, struct fuse_file_info *fi);
+__visible extern int cg_releasedir(const char *path, struct fuse_file_info *fi);
+__visible extern int cg_write(const char *path, const char *buf, size_t size, off_t offset, struct fuse_file_info *fi);
+__visible extern int cg_readdir(const char *path, void *buf, fuse_fill_dir_t filler, off_t offset, struct fuse_file_info *fi);
+__visible extern int cg_access(const char *path, int mode);
#endif /* __LXCFS_CGROUP_FUSE_H */
AX_CHECK_COMPILE_FLAG([-fasynchronous-unwind-tables], [CFLAGS="$CFLAGS -fasynchronous-unwind-tables"],,[-Werror])
AX_CHECK_COMPILE_FLAG([-pipe], [CFLAGS="$CFLAGS -pipe"],,[-Werror])
AX_CHECK_COMPILE_FLAG([-fexceptions], [CFLAGS="$CFLAGS -fexceptions"],,[-Werror])
+CFLAGS="$CFLAGS -fvisibility=hidden"
AX_CHECK_LINK_FLAG([-z relro], [LDFLAGS="$LDFLAGS -z relro"],,[])
AX_CHECK_LINK_FLAG([-z now], [LDFLAGS="$LDFLAGS -z now"],,[])
#define PTR_TO_UINT64(p) ((uint64_t)((intptr_t)(p)))
#define INTTYPE_TO_PTR(u) ((void *)((intptr_t)(u)))
+#define __visible __attribute__((visibility("default")))
+
#endif /* __LXCFS_MACRO_H */
#include "config.h"
#include "macro.h"
-extern int proc_getattr(const char *path, struct stat *sb);
-extern int proc_readdir(const char *path, void *buf, fuse_fill_dir_t filler,
- off_t offset, struct fuse_file_info *fi);
-extern int proc_open(const char *path, struct fuse_file_info *fi);
-extern int proc_access(const char *path, int mask);
-extern int proc_read(const char *path, char *buf, size_t size, off_t offset,
- struct fuse_file_info *fi);
-extern int proc_release(const char *path, struct fuse_file_info *fi);
+__visible extern int proc_getattr(const char *path, struct stat *sb);
+__visible extern int proc_readdir(const char *path, void *buf, fuse_fill_dir_t filler, off_t offset, struct fuse_file_info *fi);
+__visible extern int proc_open(const char *path, struct fuse_file_info *fi);
+__visible extern int proc_access(const char *path, int mask);
+__visible extern int proc_read(const char *path, char *buf, size_t size, off_t offset, struct fuse_file_info *fi);
+__visible extern int proc_release(const char *path, struct fuse_file_info *fi);
#endif /* __LXCFS_PROC_FUSE_H */
#include "config.h"
#include "macro.h"
-extern int sys_getattr(const char *path, struct stat *sb);
-extern int sys_readdir(const char *path, void *buf, fuse_fill_dir_t filler, off_t offset,
- struct fuse_file_info *fi);
-extern int sys_release(const char *path, struct fuse_file_info *fi);
-extern int sys_releasedir(const char *path, struct fuse_file_info *fi);
-extern int sys_open(const char *path, struct fuse_file_info *fi);
-extern int sys_read(const char *path, char *buf, size_t size, off_t offset,
- struct fuse_file_info *fi);
-extern int sys_access(const char *path, int mask);
+__visible extern int sys_getattr(const char *path, struct stat *sb);
+__visible extern int sys_readdir(const char *path, void *buf, fuse_fill_dir_t filler, off_t offset, struct fuse_file_info *fi);
+__visible extern int sys_release(const char *path, struct fuse_file_info *fi);
+__visible extern int sys_releasedir(const char *path, struct fuse_file_info *fi);
+__visible extern int sys_open(const char *path, struct fuse_file_info *fi);
+__visible extern int sys_read(const char *path, char *buf, size_t size, off_t offset, struct fuse_file_info *fi);
+__visible extern int sys_access(const char *path, int mask);
#endif /* __LXCFS_SYSFS_FUSE_H */