Class VkDebugUtilsMessengerCallbackDataEXT
- All Implemented Interfaces:
AutoCloseable,org.lwjgl.system.NativeResource,org.lwjgl.system.Pointer
Description
Note
This structure should only be considered valid during the lifetime of the triggered callback.
Since adding queue and command buffer labels behaves like pushing and popping onto a stack, the order of both pQueueLabels and pCmdBufLabels is based on the order the labels were defined. The result is that the first label in either pQueueLabels or pCmdBufLabels will be the first defined (and therefore the oldest) while the last label in each list will be the most recent.
Note
pQueueLabels will only be non-NULL if one of the objects in pObjects can be related directly to a defined VkQueue which has had one or more labels associated with it.
Likewise, pCmdBufLabels will only be non-NULL if one of the objects in pObjects can be related directly to a defined VkCommandBuffer which has had one or more labels associated with it. Additionally, while command buffer labels allow for beginning and ending across different command buffers, the debug messaging framework cannot guarantee that labels in pCmdBufLables will contain those defined outside of the associated command buffer. This is partially due to the fact that the association of one command buffer with another may not have been defined at the time the debug message is triggered.
Valid Usage (Implicit)
sTypemust beSTRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CALLBACK_DATA_EXTpNextmust beNULLor a pointer to a valid instance ofVkDeviceAddressBindingCallbackDataEXT- The
sTypevalue of each struct in thepNextchain must be unique flagsmust be 0- If
pMessageIdNameis notNULL,pMessageIdNamemust be a null-terminated UTF-8 string - If
pMessageis notNULL,pMessagemust be a null-terminated UTF-8 string - If
queueLabelCountis not 0,pQueueLabelsmust be a valid pointer to an array ofqueueLabelCountvalidVkDebugUtilsLabelEXTstructures - If
cmdBufLabelCountis not 0,pCmdBufLabelsmust be a valid pointer to an array ofcmdBufLabelCountvalidVkDebugUtilsLabelEXTstructures - If
objectCountis not 0,pObjectsmust be a valid pointer to an array ofobjectCountvalidVkDebugUtilsObjectNameInfoEXTstructures
See Also
VkDebugUtilsMessengerCallbackEXT, VkDebugUtilsLabelEXT, VkDebugUtilsObjectNameInfoEXT, SubmitDebugUtilsMessageEXT
Layout
struct VkDebugUtilsMessengerCallbackDataEXT {
VkStructureType sType();
void const * pNext();
VkDebugUtilsMessengerCallbackDataFlagsEXT flags();
char const * pMessageIdName();
int32_t messageIdNumber();
char const * pMessage();
uint32_t queueLabelCount();
VkDebugUtilsLabelEXT const * pQueueLabels();
uint32_t cmdBufLabelCount();
VkDebugUtilsLabelEXT const * pCmdBufLabels();
uint32_t objectCount();
VkDebugUtilsObjectNameInfoEXT const * pObjects();
}-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classAn array ofVkDebugUtilsMessengerCallbackDataEXTstructs.Nested classes/interfaces inherited from class org.lwjgl.system.Struct
org.lwjgl.system.Struct.StructValidationNested classes/interfaces inherited from interface org.lwjgl.system.Pointer
org.lwjgl.system.Pointer.Default -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final intThe struct alignment in bytes.static final intThe struct member offsets.static final intThe struct member offsets.static final intThe struct member offsets.static final intThe struct member offsets.static final intThe struct member offsets.static final intThe struct member offsets.static final intThe struct member offsets.static final intThe struct member offsets.static final intThe struct member offsets.static final intThe struct member offsets.static final intThe struct member offsets.static final intThe struct size in bytes.static final intThe struct member offsets.Fields inherited from interface org.lwjgl.system.Pointer
BITS32, BITS64, CLONG_SHIFT, CLONG_SIZE, POINTER_SHIFT, POINTER_SIZE -
Constructor Summary
ConstructorsConstructorDescriptionVkDebugUtilsMessengerCallbackDataEXT(ByteBuffer container) Creates aVkDebugUtilsMessengerCallbackDataEXTinstance at the current position of the specifiedByteBuffercontainer. -
Method Summary
Modifier and TypeMethodDescriptioncalloc()Returns a newVkDebugUtilsMessengerCallbackDataEXTinstance allocated withmemCalloc.calloc(int capacity) Returns a newVkDebugUtilsMessengerCallbackDataEXT.Bufferinstance allocated withmemCalloc.calloc(int capacity, org.lwjgl.system.MemoryStack stack) Returns a newVkDebugUtilsMessengerCallbackDataEXT.Bufferinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.calloc(org.lwjgl.system.MemoryStack stack) Returns a newVkDebugUtilsMessengerCallbackDataEXTinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.Deprecated.callocStack(int capacity) Deprecated.callocStack(int capacity, org.lwjgl.system.MemoryStack stack) Deprecated.callocStack(org.lwjgl.system.MemoryStack stack) Deprecated.inta count of items contained in thepCmdBufLabelsarray.create()Returns a newVkDebugUtilsMessengerCallbackDataEXTinstance allocated withBufferUtils.create(int capacity) Returns a newVkDebugUtilsMessengerCallbackDataEXT.Bufferinstance allocated withBufferUtils.create(long address) Returns a newVkDebugUtilsMessengerCallbackDataEXTinstance for the specified memory address.create(long address, int capacity) Create aVkDebugUtilsMessengerCallbackDataEXT.Bufferinstance at the specified memory.static @Nullable VkDebugUtilsMessengerCallbackDataEXTcreateSafe(long address) static @Nullable VkDebugUtilsMessengerCallbackDataEXT.BuffercreateSafe(long address, int capacity) intflags()0 and is reserved for future use.flags(int value) Sets the specified value to theflags()field.malloc()Returns a newVkDebugUtilsMessengerCallbackDataEXTinstance allocated withmemAlloc.malloc(int capacity) Returns a newVkDebugUtilsMessengerCallbackDataEXT.Bufferinstance allocated withmemAlloc.malloc(int capacity, org.lwjgl.system.MemoryStack stack) Returns a newVkDebugUtilsMessengerCallbackDataEXT.Bufferinstance allocated on the specifiedMemoryStack.malloc(org.lwjgl.system.MemoryStack stack) Returns a newVkDebugUtilsMessengerCallbackDataEXTinstance allocated on the specifiedMemoryStack.Deprecated.mallocStack(int capacity) Deprecated.mallocStack(int capacity, org.lwjgl.system.MemoryStack stack) Deprecated.mallocStack(org.lwjgl.system.MemoryStack stack) Deprecated.intthe ID number of the triggering message.messageIdNumber(int value) Sets the specified value to themessageIdNumber()field.static intncmdBufLabelCount(long struct) Unsafe version ofcmdBufLabelCount().static voidncmdBufLabelCount(long struct, int value) Sets the specified value to thecmdBufLabelCountfield of the specifiedstruct.static intnflags(long struct) Unsafe version offlags().static voidnflags(long struct, int value) Unsafe version offlags.static intnmessageIdNumber(long struct) Unsafe version ofmessageIdNumber().static voidnmessageIdNumber(long struct, int value) Unsafe version ofmessageIdNumber.static intnobjectCount(long struct) Unsafe version ofobjectCount().static voidnobjectCount(long struct, int value) Sets the specified value to theobjectCountfield of the specifiedstruct.static @Nullable VkDebugUtilsLabelEXT.BuffernpCmdBufLabels(long struct) Unsafe version ofpCmdBufLabels().static voidnpCmdBufLabels(long struct, @Nullable VkDebugUtilsLabelEXT.Buffer value) Unsafe version ofpCmdBufLabels.static @Nullable ByteBuffernpMessage(long struct) Unsafe version ofpMessage().static voidnpMessage(long struct, @Nullable ByteBuffer value) Unsafe version ofpMessage.static @Nullable ByteBuffernpMessageIdName(long struct) Unsafe version ofpMessageIdName().static voidnpMessageIdName(long struct, @Nullable ByteBuffer value) Unsafe version ofpMessageIdName.static @Nullable StringnpMessageIdNameString(long struct) Unsafe version ofpMessageIdNameString().static @Nullable StringnpMessageString(long struct) Unsafe version ofpMessageString().static longnpNext(long struct) Unsafe version ofpNext().static voidnpNext(long struct, long value) Unsafe version ofpNext.static @Nullable VkDebugUtilsObjectNameInfoEXT.BuffernpObjects(long struct) Unsafe version ofpObjects().static voidnpObjects(long struct, @Nullable VkDebugUtilsObjectNameInfoEXT.Buffer value) Unsafe version ofpObjects.static @Nullable VkDebugUtilsLabelEXT.BuffernpQueueLabels(long struct) Unsafe version ofpQueueLabels().static voidnpQueueLabels(long struct, @Nullable VkDebugUtilsLabelEXT.Buffer value) Unsafe version ofpQueueLabels.static intnqueueLabelCount(long struct) Unsafe version ofqueueLabelCount().static voidnqueueLabelCount(long struct, int value) Sets the specified value to thequeueLabelCountfield of the specifiedstruct.static intnsType(long struct) Unsafe version ofsType().static voidnsType(long struct, int value) Unsafe version ofsType.inta count of items contained in thepObjectsarray.@Nullable VkDebugUtilsLabelEXT.BufferNULLor a pointer to an array ofVkDebugUtilsLabelEXTactive in the currentVkCommandBufferat the time the callback was triggered.pCmdBufLabels(@Nullable VkDebugUtilsLabelEXT.Buffer value) Sets the address of the specifiedVkDebugUtilsLabelEXT.Bufferto thepCmdBufLabels()field.@Nullable ByteBufferpMessage()NULLifmessageTypesis equal toDEBUG_UTILS_MESSAGE_TYPE_DEVICE_ADDRESS_BINDING_BIT_EXT, or a null-terminated UTF-8 string detailing the trigger conditions.pMessage(@Nullable ByteBuffer value) Sets the address of the specified encoded string to thepMessage()field.@Nullable ByteBufferNULLor a null-terminated UTF-8 string that identifies the particular message ID that is associated with the provided message.pMessageIdName(@Nullable ByteBuffer value) Sets the address of the specified encoded string to thepMessageIdName()field.@Nullable StringNULLor a null-terminated UTF-8 string that identifies the particular message ID that is associated with the provided message.@Nullable StringNULLifmessageTypesis equal toDEBUG_UTILS_MESSAGE_TYPE_DEVICE_ADDRESS_BINDING_BIT_EXT, or a null-terminated UTF-8 string detailing the trigger conditions.longpNext()NULLor a pointer to a structure extending this structure.pNext(long value) Sets the specified value to thepNext()field.Prepends the specifiedVkDeviceAddressBindingCallbackDataEXTvalue to thepNextchain.@Nullable VkDebugUtilsObjectNameInfoEXT.BufferpObjects()a pointer to an array ofVkDebugUtilsObjectNameInfoEXTobjects related to the detected issue.pObjects(@Nullable VkDebugUtilsObjectNameInfoEXT.Buffer value) Sets the address of the specifiedVkDebugUtilsObjectNameInfoEXT.Bufferto thepObjects()field.@Nullable VkDebugUtilsLabelEXT.BufferNULLor a pointer to an array ofVkDebugUtilsLabelEXTactive in the currentVkQueueat the time the callback was triggered.pQueueLabels(@Nullable VkDebugUtilsLabelEXT.Buffer value) Sets the address of the specifiedVkDebugUtilsLabelEXT.Bufferto thepQueueLabels()field.inta count of items contained in thepQueueLabelsarray.set(int sType, long pNext, int flags, @Nullable ByteBuffer pMessageIdName, int messageIdNumber, @Nullable ByteBuffer pMessage, @Nullable VkDebugUtilsLabelEXT.Buffer pQueueLabels, @Nullable VkDebugUtilsLabelEXT.Buffer pCmdBufLabels, @Nullable VkDebugUtilsObjectNameInfoEXT.Buffer pObjects) Initializes this struct with the specified values.Copies the specified struct data to this struct.intsizeof()intsType()aVkStructureTypevalue identifying this structure.sType(int value) Sets the specified value to thesType()field.Sets theSTRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CALLBACK_DATA_EXTvalue to thesType()field.static voidvalidate(long struct) Validates pointer members that should not beNULL.Methods inherited from class org.lwjgl.system.Struct
clear, free, isNull, validate, validateMethods inherited from class org.lwjgl.system.Pointer.Default
address, equals, hashCode, toStringMethods inherited from interface org.lwjgl.system.NativeResource
close, free
-
Field Details
-
SIZEOF
public static final int SIZEOFThe struct size in bytes. -
ALIGNOF
public static final int ALIGNOFThe struct alignment in bytes. -
STYPE
public static final int STYPEThe struct member offsets. -
PNEXT
public static final int PNEXTThe struct member offsets. -
FLAGS
public static final int FLAGSThe struct member offsets. -
PMESSAGEIDNAME
public static final int PMESSAGEIDNAMEThe struct member offsets. -
MESSAGEIDNUMBER
public static final int MESSAGEIDNUMBERThe struct member offsets. -
PMESSAGE
public static final int PMESSAGEThe struct member offsets. -
QUEUELABELCOUNT
public static final int QUEUELABELCOUNTThe struct member offsets. -
PQUEUELABELS
public static final int PQUEUELABELSThe struct member offsets. -
CMDBUFLABELCOUNT
public static final int CMDBUFLABELCOUNTThe struct member offsets. -
PCMDBUFLABELS
public static final int PCMDBUFLABELSThe struct member offsets. -
OBJECTCOUNT
public static final int OBJECTCOUNTThe struct member offsets. -
POBJECTS
public static final int POBJECTSThe struct member offsets.
-
-
Constructor Details
-
VkDebugUtilsMessengerCallbackDataEXT
Creates aVkDebugUtilsMessengerCallbackDataEXTinstance at the current position of the specifiedByteBuffercontainer. Changes to the buffer's content will be visible to the struct instance and vice versa.The created instance holds a strong reference to the container object.
-
-
Method Details
-
sizeof
public int sizeof()- Specified by:
sizeofin classorg.lwjgl.system.Struct<VkDebugUtilsMessengerCallbackDataEXT>
-
sType
public int sType()aVkStructureTypevalue identifying this structure. -
pNext
public long pNext()NULLor a pointer to a structure extending this structure. -
flags
public int flags()0 and is reserved for future use. -
pMessageIdName
NULLor a null-terminated UTF-8 string that identifies the particular message ID that is associated with the provided message. If the message corresponds to a validation layer message, then this string may contain the portion of the Vulkan specification that is believed to have been violated. -
pMessageIdNameString
NULLor a null-terminated UTF-8 string that identifies the particular message ID that is associated with the provided message. If the message corresponds to a validation layer message, then this string may contain the portion of the Vulkan specification that is believed to have been violated. -
messageIdNumber
public int messageIdNumber()the ID number of the triggering message. If the message corresponds to a validation layer message, then this number is related to the internal number associated with the message being triggered. -
pMessage
NULLifmessageTypesis equal toDEBUG_UTILS_MESSAGE_TYPE_DEVICE_ADDRESS_BINDING_BIT_EXT, or a null-terminated UTF-8 string detailing the trigger conditions. -
pMessageString
NULLifmessageTypesis equal toDEBUG_UTILS_MESSAGE_TYPE_DEVICE_ADDRESS_BINDING_BIT_EXT, or a null-terminated UTF-8 string detailing the trigger conditions. -
queueLabelCount
public int queueLabelCount()a count of items contained in thepQueueLabelsarray. -
pQueueLabels
NULLor a pointer to an array ofVkDebugUtilsLabelEXTactive in the currentVkQueueat the time the callback was triggered. Refer to Queue Labels for more information. -
cmdBufLabelCount
public int cmdBufLabelCount()a count of items contained in thepCmdBufLabelsarray. -
pCmdBufLabels
NULLor a pointer to an array ofVkDebugUtilsLabelEXTactive in the currentVkCommandBufferat the time the callback was triggered. Refer to Command Buffer Labels for more information. -
objectCount
public int objectCount()a count of items contained in thepObjectsarray. -
pObjects
a pointer to an array ofVkDebugUtilsObjectNameInfoEXTobjects related to the detected issue. The array is roughly in order or importance, but the 0th element is always guaranteed to be the most important object for this message. -
sType
Sets the specified value to thesType()field. -
sType$Default
Sets theSTRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CALLBACK_DATA_EXTvalue to thesType()field. -
pNext
Sets the specified value to thepNext()field. -
pNext
Prepends the specifiedVkDeviceAddressBindingCallbackDataEXTvalue to thepNextchain. -
flags
Sets the specified value to theflags()field. -
pMessageIdName
Sets the address of the specified encoded string to thepMessageIdName()field. -
messageIdNumber
Sets the specified value to themessageIdNumber()field. -
pMessage
Sets the address of the specified encoded string to thepMessage()field. -
pQueueLabels
public VkDebugUtilsMessengerCallbackDataEXT pQueueLabels(@Nullable VkDebugUtilsLabelEXT.Buffer value) Sets the address of the specifiedVkDebugUtilsLabelEXT.Bufferto thepQueueLabels()field. -
pCmdBufLabels
public VkDebugUtilsMessengerCallbackDataEXT pCmdBufLabels(@Nullable VkDebugUtilsLabelEXT.Buffer value) Sets the address of the specifiedVkDebugUtilsLabelEXT.Bufferto thepCmdBufLabels()field. -
pObjects
public VkDebugUtilsMessengerCallbackDataEXT pObjects(@Nullable VkDebugUtilsObjectNameInfoEXT.Buffer value) Sets the address of the specifiedVkDebugUtilsObjectNameInfoEXT.Bufferto thepObjects()field. -
set
public VkDebugUtilsMessengerCallbackDataEXT set(int sType, long pNext, int flags, @Nullable ByteBuffer pMessageIdName, int messageIdNumber, @Nullable ByteBuffer pMessage, @Nullable VkDebugUtilsLabelEXT.Buffer pQueueLabels, @Nullable VkDebugUtilsLabelEXT.Buffer pCmdBufLabels, @Nullable VkDebugUtilsObjectNameInfoEXT.Buffer pObjects) Initializes this struct with the specified values. -
set
Copies the specified struct data to this struct.- Parameters:
src- the source struct- Returns:
- this struct
-
malloc
Returns a newVkDebugUtilsMessengerCallbackDataEXTinstance allocated withmemAlloc. The instance must be explicitly freed. -
calloc
Returns a newVkDebugUtilsMessengerCallbackDataEXTinstance allocated withmemCalloc. The instance must be explicitly freed. -
create
Returns a newVkDebugUtilsMessengerCallbackDataEXTinstance allocated withBufferUtils. -
create
Returns a newVkDebugUtilsMessengerCallbackDataEXTinstance for the specified memory address. -
createSafe
-
malloc
Returns a newVkDebugUtilsMessengerCallbackDataEXT.Bufferinstance allocated withmemAlloc. The instance must be explicitly freed.- Parameters:
capacity- the buffer capacity
-
calloc
Returns a newVkDebugUtilsMessengerCallbackDataEXT.Bufferinstance allocated withmemCalloc. The instance must be explicitly freed.- Parameters:
capacity- the buffer capacity
-
create
Returns a newVkDebugUtilsMessengerCallbackDataEXT.Bufferinstance allocated withBufferUtils.- Parameters:
capacity- the buffer capacity
-
create
Create aVkDebugUtilsMessengerCallbackDataEXT.Bufferinstance at the specified memory.- Parameters:
address- the memory addresscapacity- the buffer capacity
-
createSafe
public static @Nullable VkDebugUtilsMessengerCallbackDataEXT.Buffer createSafe(long address, int capacity) -
mallocStack
Deprecated.Deprecated for removal in 3.4.0. Usemalloc(MemoryStack)instead. -
callocStack
Deprecated.Deprecated for removal in 3.4.0. Usecalloc(MemoryStack)instead. -
mallocStack
@Deprecated public static VkDebugUtilsMessengerCallbackDataEXT mallocStack(org.lwjgl.system.MemoryStack stack) Deprecated.Deprecated for removal in 3.4.0. Usemalloc(MemoryStack)instead. -
callocStack
@Deprecated public static VkDebugUtilsMessengerCallbackDataEXT callocStack(org.lwjgl.system.MemoryStack stack) Deprecated.Deprecated for removal in 3.4.0. Usecalloc(MemoryStack)instead. -
mallocStack
Deprecated.Deprecated for removal in 3.4.0. Usemalloc(int, MemoryStack)instead. -
callocStack
Deprecated.Deprecated for removal in 3.4.0. Usecalloc(int, MemoryStack)instead. -
mallocStack
@Deprecated public static VkDebugUtilsMessengerCallbackDataEXT.Buffer mallocStack(int capacity, org.lwjgl.system.MemoryStack stack) Deprecated.Deprecated for removal in 3.4.0. Usemalloc(int, MemoryStack)instead. -
callocStack
@Deprecated public static VkDebugUtilsMessengerCallbackDataEXT.Buffer callocStack(int capacity, org.lwjgl.system.MemoryStack stack) Deprecated.Deprecated for removal in 3.4.0. Usecalloc(int, MemoryStack)instead. -
malloc
Returns a newVkDebugUtilsMessengerCallbackDataEXTinstance allocated on the specifiedMemoryStack.- Parameters:
stack- the stack from which to allocate
-
calloc
Returns a newVkDebugUtilsMessengerCallbackDataEXTinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.- Parameters:
stack- the stack from which to allocate
-
malloc
public static VkDebugUtilsMessengerCallbackDataEXT.Buffer malloc(int capacity, org.lwjgl.system.MemoryStack stack) Returns a newVkDebugUtilsMessengerCallbackDataEXT.Bufferinstance allocated on the specifiedMemoryStack.- Parameters:
capacity- the buffer capacitystack- the stack from which to allocate
-
calloc
public static VkDebugUtilsMessengerCallbackDataEXT.Buffer calloc(int capacity, org.lwjgl.system.MemoryStack stack) Returns a newVkDebugUtilsMessengerCallbackDataEXT.Bufferinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.- Parameters:
capacity- the buffer capacitystack- the stack from which to allocate
-
nsType
public static int nsType(long struct) Unsafe version ofsType(). -
npNext
public static long npNext(long struct) Unsafe version ofpNext(). -
nflags
public static int nflags(long struct) Unsafe version offlags(). -
npMessageIdName
Unsafe version ofpMessageIdName(). -
npMessageIdNameString
Unsafe version ofpMessageIdNameString(). -
nmessageIdNumber
public static int nmessageIdNumber(long struct) Unsafe version ofmessageIdNumber(). -
npMessage
Unsafe version ofpMessage(). -
npMessageString
Unsafe version ofpMessageString(). -
nqueueLabelCount
public static int nqueueLabelCount(long struct) Unsafe version ofqueueLabelCount(). -
npQueueLabels
Unsafe version ofpQueueLabels(). -
ncmdBufLabelCount
public static int ncmdBufLabelCount(long struct) Unsafe version ofcmdBufLabelCount(). -
npCmdBufLabels
Unsafe version ofpCmdBufLabels(). -
nobjectCount
public static int nobjectCount(long struct) Unsafe version ofobjectCount(). -
npObjects
Unsafe version ofpObjects(). -
nsType
public static void nsType(long struct, int value) Unsafe version ofsType. -
npNext
public static void npNext(long struct, long value) Unsafe version ofpNext. -
nflags
public static void nflags(long struct, int value) Unsafe version offlags. -
npMessageIdName
Unsafe version ofpMessageIdName. -
nmessageIdNumber
public static void nmessageIdNumber(long struct, int value) Unsafe version ofmessageIdNumber. -
npMessage
Unsafe version ofpMessage. -
nqueueLabelCount
public static void nqueueLabelCount(long struct, int value) Sets the specified value to thequeueLabelCountfield of the specifiedstruct. -
npQueueLabels
Unsafe version ofpQueueLabels. -
ncmdBufLabelCount
public static void ncmdBufLabelCount(long struct, int value) Sets the specified value to thecmdBufLabelCountfield of the specifiedstruct. -
npCmdBufLabels
Unsafe version ofpCmdBufLabels. -
nobjectCount
public static void nobjectCount(long struct, int value) Sets the specified value to theobjectCountfield of the specifiedstruct. -
npObjects
Unsafe version ofpObjects. -
validate
public static void validate(long struct) Validates pointer members that should not beNULL.- Parameters:
struct- the struct to validate
-