#pragma once // Statusblock des FTP-Moduls. Die App liest ihn per Debug-Zugriff direkt aus dem Speicher des Moduls // (die Adresse steht beim Bauen fest) - so klappt die Anzeige auch, wenn das Modul nicht an die SD kommt. // Über "stop" kann die App das Modul ebenfalls ohne SD zum Beenden auffordern. // Wird von ftpmodul/source/main.c und source/ftpctl.c (App) benutzt. #include <3ds/types.h> #define FTP_STATUS_MAGIC 0x5446424D // "MBFT" enum { FTP_STAGE_START = 0, // vor __appInit / srvInit FTP_STAGE_INIT, // srv, fs, SD erledigt (Ergebnisse in srv/fs/sdmc) FTP_STAGE_SOC, // wartet auf den Netzwerk-Dienst (socInit, Ergebnis in soc) FTP_STAGE_WIFI, // wartet auf WLAN (keine IP) FTP_STAGE_PORT, // Port 5000 lässt sich nicht öffnen (errno in bindErrno) FTP_STAGE_READY, // bereit, IP in ip FTP_STAGE_EXIT, // beendet sich }; typedef struct { u32 magic; u32 stage; s32 srv, fs, sdmc, soc; u32 ip; u32 heartbeat; // zählt hoch, solange das Modul lebt u32 stop; // die App setzt 1: Modul beendet sich sauber s32 bindErrno; } FtpStatus;