1/* 2 $Id: unix.h,v 1.3 2010-03-12 15:16:49 franklahm Exp $ 3 Copyright (c) 2009 Frank Lahm <franklahm@gmail.com> 4 5 This program is free software; you can redistribute it and/or modify 6 it under the terms of the GNU General Public License as published by 7 the Free Software Foundation; either version 2 of the License, or 8 (at your option) any later version. 9 10 This program is distributed in the hope that it will be useful, 11 but WITHOUT ANY WARRANTY; without even the implied warranty of 12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 GNU General Public License for more details. 14*/ 15 16#ifndef ATALK_UNIX_H 17#define ATALK_UNIX_H 18 19#ifdef HAVE_CONFIG_H 20#include <config.h> 21#endif 22 23#include <sys/types.h> 24#include <dirent.h> 25 26/* vfs/unix.c */ 27extern int netatalk_unlink(const char *name); 28extern int netatalk_unlinkat(int dirfd, const char *name); 29extern int statat(int dirfd, const char *path, struct stat *st); 30extern DIR *opendirat(int dirfd, const char *path); 31 32/* rmdir ENOENT not an error */ 33extern int netatalk_rmdir(int dirfd, const char *name); 34extern int netatalk_rmdir_all_errors(int dirfd, const char *name); 35 36extern int setfilmode(const struct vol *vol, const char *name, mode_t mode, struct stat *st); 37extern int dir_rx_set(mode_t mode); 38extern int stickydirmode(const char *name, const mode_t mode, const int dropbox, const mode_t v_umask); 39extern int unix_rename(int sfd, const char *oldpath, int dfd, const char *newpath); 40extern int copy_file(int sfd, const char *src, const char *dst, mode_t mode); 41extern void become_root(void); 42extern void unbecome_root(void); 43 44#endif /* ATALK_UNIX_H */ 45