mirror of
https://github.com/aydencharles/onionHEN.git
synced 2026-10-22 11:53:07 -05:00
source/include mixed libhijacker's private implementation headers (util.hpp with its hand-rolled UniquePtr/String/Vector, plus kernel/, elf/, dbg/, hijacker/) with genuinely cross-module contracts, and the whole directory was pulled in as -isystem, so any module could reach libhijacker internals and every warning in those headers was suppressed. Move the libhijacker-private headers to source/libhijacker/include and expose it as a PUBLIC include directory, so the two modules that actually use it — util for hijacker.hpp, shellui for SHA-1 — now declare that dependency. Split sha1.hpp: the public-domain SHA-1 goes to third_party/sha1, while NID_KEY, Sha1 and genSha1 (which needed libhijacker's StringView) move into the nid.hpp that uses them. shellui only ever wanted the plain digest. Drop source/include's SYSTEM marker now that it holds only first-party contracts. That surfaced problems -isystem had been hiding: * 68 format-string mismatches in dbg.hpp, printing uintptr_t with %llx * freebsd-helper.h redefining PROT_* and TRACEBUF over the SDK's * ini.h's header-only helpers declared static rather than static inline The GNU extensions that TYPE_BEGIN/TYPE_FIELD rely on are now silenced per header instead of by the blanket -isystem. Also drop three redundant util.hpp includes (bootstrapper, shellui) that referenced none of its symbols, and fix backtrace.hpp being included through relative ../include paths. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
35 lines
817 B
C++
35 lines
817 B
C++
#pragma once
|
|
|
|
extern "C"
|
|
{
|
|
#include <stdint.h>
|
|
#include <stdarg.h>
|
|
#include <string.h>
|
|
#include <stdio.h>
|
|
#include <unistd.h>
|
|
|
|
typedef struct
|
|
{
|
|
int32_t type; // 0x00
|
|
int32_t req_id; // 0x04
|
|
int32_t priority; // 0x08
|
|
int32_t msg_id; // 0x0C
|
|
int32_t target_id; // 0x10
|
|
int32_t user_id; // 0x14
|
|
int32_t unk1; // 0x18
|
|
int32_t unk2; // 0x1C
|
|
int32_t app_id; // 0x20
|
|
int32_t error_num; // 0x24
|
|
int32_t unk3; // 0x28
|
|
char use_icon_image_uri; // 0x2C
|
|
char message[1024]; // 0x2D
|
|
char uri[1024]; // 0x42D
|
|
char unkstr[1024]; // 0x82D
|
|
} OrbisNotificationRequest; // Size = 0xC30
|
|
|
|
int32_t sceKernelSendNotificationRequest(int32_t device, OrbisNotificationRequest *req, size_t size, int32_t blocking);
|
|
|
|
}
|
|
|
|
void printf_notification(const char *fmt, ...);
|