1*33b1fccfSAndroid Build Coastguard Worker /* SPDX-License-Identifier: GPL-2.0-only OR Apache-2.0 */ 2*33b1fccfSAndroid Build Coastguard Worker 3*33b1fccfSAndroid Build Coastguard Worker #ifdef HAVE_LIBSELINUX 4*33b1fccfSAndroid Build Coastguard Worker #include <selinux/selinux.h> 5*33b1fccfSAndroid Build Coastguard Worker #include <selinux/label.h> 6*33b1fccfSAndroid Build Coastguard Worker #endif 7*33b1fccfSAndroid Build Coastguard Worker 8*33b1fccfSAndroid Build Coastguard Worker #ifdef WITH_ANDROID 9*33b1fccfSAndroid Build Coastguard Worker #include <selinux/android.h> 10*33b1fccfSAndroid Build Coastguard Worker #include <private/android_filesystem_config.h> 11*33b1fccfSAndroid Build Coastguard Worker #include <private/canned_fs_config.h> 12*33b1fccfSAndroid Build Coastguard Worker #include <private/fs_config.h> 13*33b1fccfSAndroid Build Coastguard Worker #endif 14*33b1fccfSAndroid Build Coastguard Worker 15*33b1fccfSAndroid Build Coastguard Worker #ifndef HAVE_MEMRCHR memrchr(const void * s,int c,size_t n)16*33b1fccfSAndroid Build Coastguard Workerstatic inline void *memrchr(const void *s, int c, size_t n) 17*33b1fccfSAndroid Build Coastguard Worker { 18*33b1fccfSAndroid Build Coastguard Worker const unsigned char *p = (const unsigned char *)s; 19*33b1fccfSAndroid Build Coastguard Worker 20*33b1fccfSAndroid Build Coastguard Worker for (p += n; n > 0; n--) 21*33b1fccfSAndroid Build Coastguard Worker if (*--p == c) 22*33b1fccfSAndroid Build Coastguard Worker return (void*)p; 23*33b1fccfSAndroid Build Coastguard Worker return NULL; 24*33b1fccfSAndroid Build Coastguard Worker } 25*33b1fccfSAndroid Build Coastguard Worker #endif 26