Package ghidra.program.model.data
Interface BitFieldPacking
- 
- All Known Implementing Classes:
- BitFieldPackingImpl
 
 public interface BitFieldPacking
- 
- 
Method SummaryAll Methods Instance Methods Abstract Methods Modifier and Type Method Description intgetZeroLengthBoundary()A non-zero value indicates the fixed alignment size for bit-fields which follow a zero-length bitfield if greater than a bitfields base type normal alignment.booleanisTypeAlignmentEnabled()Control whether the alignment of bit-field types is respected when laying out structures.booleanuseMSConvention()Control if the alignment and packing of bit-fields follows MSVC conventions.
 
- 
- 
- 
Method Detail- 
useMSConventionboolean useMSConvention() Control if the alignment and packing of bit-fields follows MSVC conventions. When this is enabled it takes precedence over all other bitfield packing controls.- Returns:
- true if MSVC packing conventions are used, else false (e.g., GNU conventions apply).
 
 - 
isTypeAlignmentEnabledboolean isTypeAlignmentEnabled() Control whether the alignment of bit-field types is respected when laying out structures. Corresponds to PCC_BITFIELD_TYPE_MATTERS in GCC.- Returns:
- true when the alignment of the bit-field type should be used to impact the alignment of the containing structure, and ensure that individual bit-fields will not straddle an alignment boundary.
 
 - 
getZeroLengthBoundaryint getZeroLengthBoundary() A non-zero value indicates the fixed alignment size for bit-fields which follow a zero-length bitfield if greater than a bitfields base type normal alignment. Corresponds to EMPTY_FIELD_BOUNDARY in GCC. This value is only used whenisTypeAlignmentEnabled()returns false.- Returns:
- fixed alignment size as number of bytes for a bit-field which follows a zero-length bit-field
 
 
- 
 
-