llvm/compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors_ioctl.inc

//===-- sanitizer_common_interceptors_ioctl.inc -----------------*- C++ -*-===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
//
//===----------------------------------------------------------------------===//
//
// Ioctl handling in common sanitizer interceptors.
//===----------------------------------------------------------------------===//

#if !SANITIZER_NETBSD

#include "sanitizer_flags.h"

struct ioctl_desc {};

const unsigned ioctl_table_max =;
static ioctl_desc ioctl_table[ioctl_table_max];
static unsigned ioctl_table_size =;

// This can not be declared as a global, because references to struct_*_sz
// require a global initializer. And this table must be available before global
// initializers are run.
static void ioctl_table_fill() {}

static bool ioctl_initialized =;

struct ioctl_desc_compare {};

static void ioctl_init() {}

// Handle the most evil ioctls that encode argument value as part of request id.
static unsigned ioctl_request_fixup(unsigned req) {}

static const ioctl_desc *ioctl_table_lookup(unsigned req) {}

static bool ioctl_decode(unsigned req, ioctl_desc *desc) {}

static const ioctl_desc *ioctl_lookup(unsigned req) {}

static void ioctl_common_pre(void *ctx, const ioctl_desc *desc, int d,
                             unsigned request, void *arg) {}

static void ioctl_common_post(void *ctx, const ioctl_desc *desc, int res, int d,
                              unsigned request, void *arg) {}

#endif