2023-08-12 09:16:20 +00:00
|
|
|
/***
|
|
|
|
Copyright (C) 2023 J Reece Wilson (a/k/a "Reece"). All rights reserved.
|
|
|
|
|
|
|
|
File: AuProcAddresses.Linux.hpp
|
|
|
|
Date: 2023-8-11
|
|
|
|
Author: Reece
|
|
|
|
***/
|
|
|
|
#pragma once
|
|
|
|
|
|
|
|
#include <linux/aio_abi.h>
|
|
|
|
|
|
|
|
struct robust_list_head;
|
|
|
|
|
|
|
|
namespace Aurora
|
|
|
|
{
|
|
|
|
void InitLinuxAddresses();
|
|
|
|
|
|
|
|
int pidfd_getfd(int pidfd, int targetfd,
|
|
|
|
unsigned int flags);
|
|
|
|
|
|
|
|
int pidfd_open(pid_t pid, unsigned int flags);
|
|
|
|
|
|
|
|
long get_robust_list(int pid, struct robust_list_head **head_ptr, size_t *len_ptr);
|
|
|
|
|
|
|
|
long set_robust_list(struct robust_list_head *head, size_t len);
|
|
|
|
|
2023-08-18 21:51:47 +00:00
|
|
|
int futex_wake(uint32_t *addr, uint32_t nthreads);
|
2023-08-12 09:16:20 +00:00
|
|
|
|
2023-08-18 21:51:47 +00:00
|
|
|
int futex_wait(uint32_t *addr, uint32_t expected,
|
2023-08-12 09:16:20 +00:00
|
|
|
const struct timespec *timeout);
|
|
|
|
|
2023-08-18 21:51:47 +00:00
|
|
|
int futex_wait(uint32_t *addr, uint32_t expected);
|
2023-08-12 09:16:20 +00:00
|
|
|
|
2023-08-18 21:51:47 +00:00
|
|
|
int futex_wake_shared(uint32_t *addr, uint32_t nthreads);
|
2023-08-12 09:16:20 +00:00
|
|
|
|
2023-08-18 21:51:47 +00:00
|
|
|
int futex_wait_shared(uint32_t *addr, uint32_t expected,
|
|
|
|
const struct timespec *timeout);
|
|
|
|
|
|
|
|
int futex_wake(volatile uint32_t *addr, uint32_t nthreads);
|
|
|
|
|
|
|
|
int futex_wait(volatile uint32_t *addr, uint32_t expected,
|
2023-08-12 09:16:20 +00:00
|
|
|
const struct timespec *timeout);
|
|
|
|
|
2023-08-18 21:51:47 +00:00
|
|
|
int futex_wait(volatile uint32_t *addr, uint32_t expected);
|
2023-08-12 09:16:20 +00:00
|
|
|
|
|
|
|
int io_submit(aio_context_t ctx, long nr, struct iocb **iocbpp);
|
|
|
|
|
|
|
|
int io_cancel(aio_context_t ctx_id, struct iocb *iocb,
|
|
|
|
struct io_event *result);
|
|
|
|
|
|
|
|
int io_destroy(aio_context_t ctx);
|
|
|
|
|
|
|
|
int io_setup(unsigned nr, aio_context_t *ctxp);
|
|
|
|
|
|
|
|
int io_getevents(aio_context_t ctx, long min_nr, long max_nr,
|
|
|
|
struct io_event *events,
|
|
|
|
struct timespec *timeout);
|
2023-08-18 21:38:17 +00:00
|
|
|
|
|
|
|
ssize_t sys_getrandom(void *pBuffer, size_t uLength);
|
2023-08-12 09:16:20 +00:00
|
|
|
}
|