Prefix macros: LIBCTRU_{ALIGN,PACKED,DEPRECATED}

The mitigates compatibility issues with other libraries, such as the one seen in #530.

The `BIT` macro is kept because it is commonly used, so renaming it
would be too breaking of a change (see
https://github.com/devkitPro/libctru/pull/531#issuecomment-1714148532)

Fixes #530
This commit is contained in:
Gleb Mazovetskiy 2023-09-12 08:25:57 +01:00
parent a4634c0290
commit e797c6907f
9 changed files with 13 additions and 13 deletions

View File

@ -2023,7 +2023,7 @@ INCLUDE_FILE_PATTERNS =
# recursively expanded use the := operator instead of the = operator. # recursively expanded use the := operator instead of the = operator.
# This tag requires that the tag ENABLE_PREPROCESSING is set to YES. # This tag requires that the tag ENABLE_PREPROCESSING is set to YES.
PREDEFINED = PACKED PREDEFINED = LIBCTRU_PACKED
# If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then this # If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then this
# tag can be used to specify a list of macro names that should be expanded. The # tag can be used to specify a list of macro names that should be expanded. The

View File

@ -166,7 +166,7 @@ void gfxScreenSwapBuffers(gfxScreen_t scr, bool hasStereo);
* @param immediate This parameter no longer has any effect and is thus ignored. * @param immediate This parameter no longer has any effect and is thus ignored.
* @deprecated This function has been superseded by \ref gfxScreenSwapBuffers, please use that instead. * @deprecated This function has been superseded by \ref gfxScreenSwapBuffers, please use that instead.
*/ */
DEPRECATED void gfxConfigScreen(gfxScreen_t scr, bool immediate); LIBCTRU_DEPRECATED void gfxConfigScreen(gfxScreen_t scr, bool immediate);
/** /**
* @brief Updates the configuration of both screens. * @brief Updates the configuration of both screens.

View File

@ -70,7 +70,7 @@ static inline u32 IPC_Desc_CurProcessId(void)
return 0x20; return 0x20;
} }
static inline DEPRECATED u32 IPC_Desc_CurProcessHandle(void) static inline LIBCTRU_DEPRECATED u32 IPC_Desc_CurProcessHandle(void)
{ {
return IPC_Desc_CurProcessId(); return IPC_Desc_CurProcessId();
} }

View File

@ -156,4 +156,4 @@ typedef struct
} mole_details; } mole_details;
u16 author_name[10]; ///< Name of Mii's author (Encoded using UTF16) u16 author_name[10]; ///< Name of Mii's author (Encoded using UTF16)
} PACKED MiiData; } LIBCTRU_PACKED MiiData;

View File

@ -176,7 +176,7 @@ bool aptShouldJumpToHome(void);
bool aptCheckHomePressRejected(void); bool aptCheckHomePressRejected(void);
/// \deprecated Alias for \ref aptCheckHomePressRejected. /// \deprecated Alias for \ref aptCheckHomePressRejected.
static inline DEPRECATED bool aptIsHomePressed(void) static inline LIBCTRU_DEPRECATED bool aptIsHomePressed(void)
{ {
return aptCheckHomePressRejected(); return aptCheckHomePressRejected();
} }

View File

@ -202,7 +202,7 @@ typedef struct
} FS_IntegrityVerificationSeed; } FS_IntegrityVerificationSeed;
/// Ext save data information. /// Ext save data information.
typedef struct PACKED typedef struct LIBCTRU_PACKED
{ {
FS_MediaType mediaType : 8; ///< Media type. FS_MediaType mediaType : 8; ///< Media type.
u8 unknown; ///< Unknown. u8 unknown; ///< Unknown.

View File

@ -47,16 +47,16 @@ typedef void (*voidfn)(void);
#define BIT(n) (1U<<(n)) #define BIT(n) (1U<<(n))
/// Aligns a struct (and other types?) to m, making sure that the size of the struct is a multiple of m. /// Aligns a struct (and other types?) to m, making sure that the size of the struct is a multiple of m.
#define ALIGN(m) __attribute__((aligned(m))) #define LIBCTRU_ALIGN(m) __attribute__((aligned(m)))
/// Packs a struct (and other types?) so it won't include padding bytes. /// Packs a struct (and other types?) so it won't include padding bytes.
#define PACKED __attribute__((packed)) #define LIBCTRU_PACKED __attribute__((packed))
#ifndef LIBCTRU_NO_DEPRECATION #ifndef LIBCTRU_NO_DEPRECATION
/// Flags a function as deprecated. /// Flags a function as deprecated.
#define DEPRECATED __attribute__ ((deprecated)) #define LIBCTRU_DEPRECATED __attribute__ ((deprecated))
#else #else
/// Flags a function as deprecated. /// Flags a function as deprecated.
#define DEPRECATED #define LIBCTRU_DEPRECATED
#endif #endif
/// Structure representing CPU registers /// Structure representing CPU registers
@ -71,7 +71,7 @@ typedef struct {
/// Structure representing FPU registers /// Structure representing FPU registers
typedef struct { typedef struct {
union { union {
struct PACKED { double d[16]; }; ///< d0-d15. struct LIBCTRU_PACKED { double d[16]; }; ///< d0-d15.
float s[32]; ///< s0-s31. float s[32]; ///< s0-s31.
}; };
u32 fpscr; ///< fpscr. u32 fpscr; ///< fpscr.

View File

@ -205,7 +205,7 @@ static int _gdbExportSeekFlag(int flag)
// https://sourceware.org/gdb/onlinedocs/gdb/struct-stat.html#struct-stat // https://sourceware.org/gdb/onlinedocs/gdb/struct-stat.html#struct-stat
typedef u32 gdbhio_time_t; typedef u32 gdbhio_time_t;
struct PACKED ALIGN(4) gdbhio_stat { struct LIBCTRU_PACKED LIBCTRU_ALIGN(4) gdbhio_stat {
u32 gst_dev; /* device */ u32 gst_dev; /* device */
u32 gst_ino; /* inode */ u32 gst_ino; /* inode */
gdbhio_mode_t gst_mode; /* protection */ gdbhio_mode_t gst_mode; /* protection */

View File

@ -6,7 +6,7 @@
static int inet_pton4(const char *restrict src, void *restrict dst) static int inet_pton4(const char *restrict src, void *restrict dst)
{ {
u8 ip[4] ALIGN(4); u8 ip[4] LIBCTRU_ALIGN(4);
if(sscanf(src,"%hhu.%hhu.%hhu.%hhu",&ip[0], &ip[1], &ip[2], &ip[3]) != 4) return 0; if(sscanf(src,"%hhu.%hhu.%hhu.%hhu",&ip[0], &ip[1], &ip[2], &ip[3]) != 4) return 0;
memcpy(dst,ip,4); memcpy(dst,ip,4);