#include #include #include #include #include #include #include #include #include "cs_helpers.h" int remove_platform_binary(void) { int ret; uint32_t my_csflags; T_QUIET; T_ASSERT_POSIX_ZERO(csops(getpid(), CS_OPS_STATUS, &my_csflags, sizeof(my_csflags)), NULL); if (!(my_csflags & CS_PLATFORM_BINARY)) { return 0; } ret = csops(getpid(), CS_OPS_CLEARPLATFORM, NULL, 0); if (ret) { switch (errno) { case ENOTSUP: T_LOG("clearing platform binary not supported, skipping test"); return -1; default: T_LOG("csops failed with flag CS_OPS_CLEARPLATFORM"); return -1; } } my_csflags = 0; T_QUIET; T_ASSERT_POSIX_ZERO(csops(getpid(), CS_OPS_STATUS, &my_csflags, sizeof(my_csflags)), NULL); if (my_csflags & CS_PLATFORM_BINARY) { T_LOG("platform binary flag still set"); return -1; } return 0; }