1*c9945492SAndroid Build Coastguard Worker #include <stdio.h> 2*c9945492SAndroid Build Coastguard Worker #include <errno.h> 3*c9945492SAndroid Build Coastguard Worker #include <fcntl.h> 4*c9945492SAndroid Build Coastguard Worker #include "syscall.h" 5*c9945492SAndroid Build Coastguard Worker remove(const char * path)6*c9945492SAndroid Build Coastguard Workerint remove(const char *path) 7*c9945492SAndroid Build Coastguard Worker { 8*c9945492SAndroid Build Coastguard Worker #ifdef SYS_unlink 9*c9945492SAndroid Build Coastguard Worker int r = __syscall(SYS_unlink, path); 10*c9945492SAndroid Build Coastguard Worker #else 11*c9945492SAndroid Build Coastguard Worker int r = __syscall(SYS_unlinkat, AT_FDCWD, path, 0); 12*c9945492SAndroid Build Coastguard Worker #endif 13*c9945492SAndroid Build Coastguard Worker #ifdef SYS_rmdir 14*c9945492SAndroid Build Coastguard Worker if (r==-EISDIR) r = __syscall(SYS_rmdir, path); 15*c9945492SAndroid Build Coastguard Worker #else 16*c9945492SAndroid Build Coastguard Worker if (r==-EISDIR) r = __syscall(SYS_unlinkat, AT_FDCWD, path, AT_REMOVEDIR); 17*c9945492SAndroid Build Coastguard Worker #endif 18*c9945492SAndroid Build Coastguard Worker return __syscall_ret(r); 19*c9945492SAndroid Build Coastguard Worker } 20