59 lines
1.9 KiB
C
59 lines
1.9 KiB
C
// Copyright 2023 The Chromium Authors
|
|
// Use of this source code is governed by a BSD-style license that can be
|
|
// found in the LICENSE file.
|
|
|
|
#ifndef BASE_IOS_SIM_HEADER_SHIMS_H_
|
|
#define BASE_IOS_SIM_HEADER_SHIMS_H_
|
|
|
|
#include "build/blink_buildflags.h"
|
|
|
|
#if !BUILDFLAG(USE_BLINK)
|
|
#error File can only be included when USE_BLINK is true
|
|
#endif
|
|
|
|
#include <mach/kern_return.h>
|
|
#include <mach/message.h>
|
|
#include <sys/param.h>
|
|
|
|
// This file includes the necessary headers that are not part of the
|
|
// iOS public SDK in order to support multiprocess and memory instrumentations
|
|
// on iOS.
|
|
|
|
__BEGIN_DECLS
|
|
|
|
#define BOOTSTRAP_MAX_NAME_LEN 128
|
|
typedef char name_t[BOOTSTRAP_MAX_NAME_LEN];
|
|
kern_return_t bootstrap_check_in(mach_port_t bp,
|
|
const name_t service_name,
|
|
mach_port_t* sp);
|
|
kern_return_t bootstrap_look_up(mach_port_t bp,
|
|
const name_t service_name,
|
|
mach_port_t* sp);
|
|
pid_t audit_token_to_pid(audit_token_t atoken);
|
|
|
|
const char* bootstrap_strerror(kern_return_t r);
|
|
#define BOOTSTRAP_SUCCESS 0
|
|
#define BOOTSTRAP_NOT_PRIVILEGED 1100
|
|
#define BOOTSTRAP_NAME_IN_USE 1101
|
|
#define BOOTSTRAP_UNKNOWN_SERVICE 1102
|
|
#define BOOTSTRAP_SERVICE_ACTIVE 1103
|
|
#define BOOTSTRAP_BAD_COUNT 1104
|
|
#define BOOTSTRAP_NO_MEMORY 1105
|
|
#define BOOTSTRAP_NO_CHILDREN 1106
|
|
|
|
// These values are copied from darwin-xnu/osfmk/mach/shared_region.h.
|
|
// https://github.com/apple/darwin-xnu/blob/8f02f2a044b9bb1ad951987ef5bab20ec9486310/osfmk/mach/shared_region.h#L86-L87
|
|
#define SHARED_REGION_BASE_ARM64 0x180000000ULL
|
|
#define SHARED_REGION_SIZE_ARM64 0x100000000ULL
|
|
|
|
int proc_pidpath(int pid, void* buffer, uint32_t buffersize);
|
|
int proc_regionfilename(int pid,
|
|
uint64_t address,
|
|
void* buffer,
|
|
uint32_t buffersize);
|
|
#define PROC_PIDPATHINFO_MAXSIZE (4 * MAXPATHLEN)
|
|
|
|
__END_DECLS
|
|
|
|
#endif // BASE_IOS_SIM_HEADER_SHIMS_H_
|