Get the status of all current synchronizations.


#include <mmsync/mmsyncclient.h>
int mm_sync_status_get( mmsync_hdl_t *hdl, 
                        mmsync_status_t *status, 
                        size_t max_num_status, 
                        uint32_t flags )



The mm-sync connection handle


A pointer to an array of elements to place statuses; may be NULL


The number of elements in the status array; may be 0


Must be 0; reserved for future use




Get the status of all current synchronizations. A client application may not be connected to mm-sync when a synchronization is started. In this case, the client can use mm_sync_status_get() to get information about all active sychnronizations.

The caller provides a buffer of sizeof(mmsync_status_t)*max_num_status bytes as the status argument. max_num_status is the maximum number of status structures that can be returned, not the size of the mmsync_status_t data type. The mm_sync_status_get() function writes the status of each synchronization in a separate mmsync_status_t structure. Make sure you provide a sufficiently large buffer to the function.

The function always returns the total number of synchronizations in progress or pending, even if this number is greater than max_num_status. To get the count of active synchronizations, you can set max_num_status to 0 and status to NULL. You can then use the return value to allocate the right amount of memory to hold the status of all active synchronizations, and then call the function a second time to fill in the status structures.


>=0 values indicate the number of synchronizations in progress or pending, when the function is successful. This number may be greater than max_num_status, but only the minimum of this return value or max_num_status elements have statuses available. This function returns -1 on failure.