Push Command (0x01 – 0x06) The Push command will place high-order bytes onto the common byte stack. 7 1 0 2 0 3 0 1 Command CommonBytes (variable) . . . Command (byte): A value in the range "0x01" through "0x06". CommonBytes (variable): Variable length byte array to be pushed onto the common byte stack. The length of the byte array is equal to the Command value ("0x01" through "0x06"). Pop Command (0x50) The Pop command will remove bytes that were added to the common byte stack from the previous Push command. 7 1 0 2 0 3 0 1 Command Command (1 byte): The value 0x50. Bitmask Command (0x42) The Bitmask command allows for up to five GLOBCNT ranges to be compressed into a single encoding command if they all have five high-order bytes in common and the low-order bytes are all within eight values of each other. 0 1 2 3 4 5 6 7 8 9 1 0 1 2 3 4 5 6 7 8 9 2 0 1 2 3 4 5 6 7 8 9 3 0 1 Command StartingValue Bitmask Command (1 byte): The value "0x42". StartingValue (1 byte): Low-order byte of first GLOBCNT. Bitmask (1 byte): Creates additional GLOBCNT values that are defined based on which bits are set in Bitmask.
Mailbox data is encoded into a FastTransfer stream. ICS download RopSynchronization Configure UploadStateStream* RopFastTransfer SourceGetBuffer Mailbox data is encoded into a FastTransfer stream. RopSynchronization GetState RopFastTransfer SourceGetBuffer The final ICS state is downloaded as a part of data transmission ICS upload RopSynchronization OpenCollector UploadStateStream* RopSynchronization Import* ROPs that operate on a Message object. RopSynchronization GetState RopFastTransfer SourceGetBuffer In this section, whenever the applicability of a ROP or protocol details are discussed, operations to which an explanation applies will usually be referenced by mentioning the type of the context, as specified in the following table. Context type Operations it applies to Download context FastTransfer download, ICS download FastTransfer context FastTransfer download, FastTransfer upload FastTransfer download context FastTransfer download FastTransfer upload context FastTransfer upload synchronization context ICS download, ICS upload synchronization download context ICS download synchronization upload context ICS upload The FastTransfer stream is specified in section 2.2.4.
attachment = NewAttach attachmentContent EndAttach attachmentContent = propList [embeddedMessage] embeddedMessage = StartEmbed messageContent EndEmbed contentsSync = [progressTotal] *( [progressPerMessage] messageChange ) [deletions] [readStateChanges] IncrSyncEnd hierarchySync = *folderChange [deletions] state IncrSyncEnd deletions = IncrSyncDel propList folderChange = IncrSyncChg propList groupInfo = IncrPropertyGroupInfo propList messageChange = messageChangeFull / messageChangePartial messageChangeFull = IncrSyncChg messageChangeHeader IncrSyncMsg propList messageChildren messageChangeHeader = propList messageChangePartial = [groupInfo] [PidTagIncrSyncGroupId] IncrSyncChgPartial messageChangeHeader *( PidTagIncrementalSyncMessagePartial propList ) messageChildren progressPerMessage = IncrSyncProgressPerMsg propList progressTotal = IncrSyncProgressMode propList readStateChanges = IncrSyncRead propList state = IncrSyncStateBegin propList IncrSyncStateEnd Semantics of Elements attachmentContent