diff --git a/src/libsysprof-analyze/sysprof-document-frame-private.h b/src/libsysprof-analyze/sysprof-document-frame-private.h index f2786c1d..aadd6319 100644 --- a/src/libsysprof-analyze/sysprof-document-frame-private.h +++ b/src/libsysprof-analyze/sysprof-document-frame-private.h @@ -43,4 +43,38 @@ SysprofDocumentFrame *_sysprof_document_frame_new (GMappedFile *ma const SysprofCaptureFrame *frame, gboolean needs_swap); +#define SYSPROF_DOCUMENT_FRAME_GET(obj, type) \ + ((const type *)(SYSPROF_DOCUMENT_FRAME(obj)->frame)) + +#define SYSPROF_DOCUMENT_FRAME_NEEDS_SWAP(obj) \ + (SYSPROF_DOCUMENT_FRAME (obj)->needs_swap) + +#if G_BYTE_ORDER == G_LITTLE_ENDIAN +# define SYSPROF_DOCUMENT_FRAME_UINT16(obj, val) \ + (SYSPROF_DOCUMENT_FRAME_NEEDS_SWAP(obj) ? GUINT16_TO_LE(val) : (val)) +# define SYSPROF_DOCUMENT_FRAME_INT16(obj, val) \ + (SYSPROF_DOCUMENT_FRAME_NEEDS_SWAP(obj) ? GINT16_TO_LE(val) : (val)) +# define SYSPROF_DOCUMENT_FRAME_UINT32(obj, val) \ + (SYSPROF_DOCUMENT_FRAME_NEEDS_SWAP(obj) ? GUINT32_TO_LE(val) : (val)) +# define SYSPROF_DOCUMENT_FRAME_INT32(obj, val) \ + (SYSPROF_DOCUMENT_FRAME_NEEDS_SWAP(obj) ? GINT32_TO_LE(val) : (val)) +# define SYSPROF_DOCUMENT_FRAME_UINT64(obj, val) \ + (SYSPROF_DOCUMENT_FRAME_NEEDS_SWAP(obj) ? GUINT64_TO_LE(val) : (val)) +# define SYSPROF_DOCUMENT_FRAME_INT64(obj, val) \ + (SYSPROF_DOCUMENT_FRAME_NEEDS_SWAP(obj) ? GINT64_TO_LE(val) : (val)) +#else +# define SYSPROF_DOCUMENT_FRAME_UINT16(obj, val) \ + (SYSPROF_DOCUMENT_FRAME_NEEDS_SWAP(obj) ? GUINT16_TO_BE(val) : (val)) +# define SYSPROF_DOCUMENT_FRAME_INT16(obj, val) \ + (SYSPROF_DOCUMENT_FRAME_NEEDS_SWAP(obj) ? GINT16_TO_BE(val) : (val)) +# define SYSPROF_DOCUMENT_FRAME_UINT32(obj, val) \ + (SYSPROF_DOCUMENT_FRAME_NEEDS_SWAP(obj) ? GUINT32_TO_BE(val) : (val)) +# define SYSPROF_DOCUMENT_FRAME_INT32(obj, val) \ + (SYSPROF_DOCUMENT_FRAME_NEEDS_SWAP(obj) ? GINT32_TO_BE(val) : (val)) +# define SYSPROF_DOCUMENT_FRAME_UINT64(obj, val) \ + (SYSPROF_DOCUMENT_FRAME_NEEDS_SWAP(obj) ? GUINT64_TO_BE(val) : (val)) +# define SYSPROF_DOCUMENT_FRAME_INT64(obj, val) \ + (SYSPROF_DOCUMENT_FRAME_NEEDS_SWAP(obj) ? GINT64_TO_BE(val) : (val)) +#endif + G_END_DECLS