/* Copyright (C) 2024 John Törnblom This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; see the file COPYING. If not, see . */ #include #include #include typedef struct notify_request { char useless1[45]; char message[3075]; } notify_request_t; int sceKernelSendNotificationRequest(int, notify_request_t*, size_t, int); void notify(const char *fmt, ...) { notify_request_t req; va_list args; bzero(&req, sizeof req); va_start(args, fmt); vsnprintf(req.message, sizeof req.message, fmt, args); va_end(args); #ifdef __SCE__ sceKernelSendNotificationRequest(0, &req, sizeof req, 0); #else puts(req.message); #endif }