VirtualBox

Changeset 23752 in vbox for trunk/include/VBox


Ignore:
Timestamp:
Oct 14, 2009 10:12:28 AM (15 years ago)
Author:
vboxsync
Message:

SSM: Implemented SSMR3GetStructEx and SSMR3PutStructEx.

Location:
trunk/include/VBox
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/include/VBox/err.h

    r23749 r23752  
    600600/** Complex SSM field fed to SSMR3PutStruct or SSMR3GetStruct.  Use the
    601601 * extended API. */
    602 #define VERR_SSM_COMPLEX_FIELD                  (-1864)
     602#define VERR_SSM_FIELD_COMPLEX                  (-1864)
    603603/** Invalid size of a SSM field with the specified transformation. */
    604 #define VERR_SSM_INVALID_FIELD_SIZE             (-1865)
     604#define VERR_SSM_FIELD_INVALID_SIZE             (-1865)
     605/** The specified field is outside the structure.  */
     606#define VERR_SSM_FIELD_OUT_OF_BOUNDS            (-1866)
     607/** The field does not follow immediately the previous one. */
     608#define VERR_SSM_FIELD_NOT_CONSECUTIVE          (-1867)
     609/** The field contains an invalid callback or transformation index. */
     610#define VERR_SSM_FIELD_INVALID_CALLBACK         (-1868)
    605611/** @} */
    606612
  • trunk/include/VBox/ssm.h

    r23749 r23752  
    176176#define SSMFIELD_ENTRY_HCPTR(Type, Field)   SSMFIELD_ENTRY_INT(Type, Field, SSMFIELDTRANS_HCPTR)
    177177/** Emit a SSMFIELD array entry for a field that can be ignored.
    178  * It is stored if SSMSTRUCT_FLAGS_DONT_IGNORE is specified to SSMR3PutStructEx.
    179  * It is skipped if SSMSTRUCT_FLAGS_DONT_IGNORE is specified to
    180  * SSMR3GetStructEx, the structure member is never touched on restore. */
     178 * It is stored as zeros if SSMSTRUCT_FLAGS_DONT_IGNORE is specified to
     179 * SSMR3PutStructEx.  The member is never touched upon restore. */
    181180#define SSMFIELD_ENTRY_IGNORE(Type, Field)  SSMFIELD_ENTRY_INT(Type, Field, SSMFIELDTRANS_IGNORE)
    182181/** Emit a SSMFIELD array entry for a field with a custom callback. */
     
    191190/** The field descriptors must exactly cover the entire struct, A to Z. */
    192191#define SSMSTRUCT_FLAGS_FULL_STRUCT         RT_BIT_32(0)
     192/** No start and end markers, just the raw bits. */
     193#define SSMSTRUCT_FLAGS_NO_MARKERS          RT_BIT_32(1)
    193194/** Do not ignore any ignorable fields. */
    194 #define SSMSTRUCT_FLAGS_DONT_IGNORE         RT_BIT_32(1)
     195#define SSMSTRUCT_FLAGS_DONT_IGNORE         RT_BIT_32(2)
    195196/** Band-aid for old SSMR3PutMem/SSMR3GetMem of structurs with host pointers. */
    196 #define SSMSTRUCT_FLAGS_MEM_BAND_AID        (SSMSTRUCT_FLAGS_DONT_IGNORE | SSMSTRUCT_FLAGS_FULL_STRUCT)
     197#define SSMSTRUCT_FLAGS_MEM_BAND_AID        (SSMSTRUCT_FLAGS_DONT_IGNORE | SSMSTRUCT_FLAGS_FULL_STRUCT | SSMSTRUCT_FLAGS_NO_MARKERS)
     198/** Mask of the valid bits. */
     199#define SSMSTRUCT_FLAGS_VALID_MASK          UINT32_C(0x00000007)
    197200/** @} */
    198201
Note: See TracChangeset for help on using the changeset viewer.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette