X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;ds=sidebyside;f=src%2Fplugins%2Fctf%2Fcommon%2Fmsg-iter%2Fmsg-iter.h;h=0ca95e9d9b7497f17b7c31c51253a2117dc593a8;hb=148f02cb367caf23f134c1cb805f669706448649;hp=cc5313b1f54eac7a01b555c3e4b6498feb2472cb;hpb=55e57fc952297e772d08a4b71d2447341f54c82b;p=babeltrace.git diff --git a/src/plugins/ctf/common/msg-iter/msg-iter.h b/src/plugins/ctf/common/msg-iter/msg-iter.h index cc5313b1..0ca95e9d 100644 --- a/src/plugins/ctf/common/msg-iter/msg-iter.h +++ b/src/plugins/ctf/common/msg-iter/msg-iter.h @@ -45,7 +45,8 @@ */ /** - * Medium operations status codes. + * Medium operations status codes. These use the same values as + * libbabeltrace2. */ enum ctf_msg_iter_medium_status { /** @@ -61,15 +62,12 @@ enum ctf_msg_iter_medium_status { */ CTF_MSG_ITER_MEDIUM_STATUS_AGAIN = 11, - /** Unsupported operation. */ - CTF_MSG_ITER_MEDIUM_STATUS_UNSUPPORTED = -3, - - /** Invalid argument. */ - CTF_MSG_ITER_MEDIUM_STATUS_INVAL = -2, - /** General error. */ CTF_MSG_ITER_MEDIUM_STATUS_ERROR = -1, + /** Memory error. */ + CTF_MSG_ITER_MEDIUM_STATUS_MEMORY_ERROR = -12, + /** Everything okay. */ CTF_MSG_ITER_MEDIUM_STATUS_OK = 0, }; @@ -97,30 +95,16 @@ enum ctf_msg_iter_status { */ CTF_MSG_ITER_STATUS_AGAIN = CTF_MSG_ITER_MEDIUM_STATUS_AGAIN, - /** Invalid argument. */ - CTF_MSG_ITER_STATUS_INVAL = CTF_MSG_ITER_MEDIUM_STATUS_INVAL, - - /** Unsupported operation. */ - CTF_MSG_ITER_STATUS_UNSUPPORTED = CTF_MSG_ITER_MEDIUM_STATUS_UNSUPPORTED, - /** General error. */ CTF_MSG_ITER_STATUS_ERROR = CTF_MSG_ITER_MEDIUM_STATUS_ERROR, + /** Memory error. */ + CTF_MSG_ITER_STATUS_MEMORY_ERROR = CTF_MSG_ITER_MEDIUM_STATUS_MEMORY_ERROR, + /** Everything okay. */ CTF_MSG_ITER_STATUS_OK = CTF_MSG_ITER_MEDIUM_STATUS_OK, }; -/** - * CTF message iterator seek operation directives. - */ -enum ctf_msg_iter_seek_whence { - /** - * Set the iterator's position to an absolute offset in the underlying - * medium. - */ - CTF_MSG_ITER_SEEK_WHENCE_SET, -}; - /** * Medium operations. * @@ -201,17 +185,22 @@ struct ctf_msg_iter_medium_ops { * Repositions the underlying stream's position. * * This *optional* method repositions the underlying stream - * to a given absolute or relative position, as indicated by - * the whence directive. + * to a given absolute position in the medium. * - * @param whence One of #ctf_msg_iter_seek_whence values * @param offset Offset to use for the given directive * @param data User data * @returns One of #ctf_msg_iter_medium_status values */ - enum ctf_msg_iter_medium_status (* seek)( - enum ctf_msg_iter_seek_whence whence, - off_t offset, void *data); + enum ctf_msg_iter_medium_status (* seek)(off_t offset, void *data); + + /** + * Called when the message iterator wishes to inform the medium that it + * is about to start a new packet. + * + * After the iterator has called switch_packet, the following call to + * request_bytes must return the content at the start of the next + * packet. */ + enum ctf_msg_iter_medium_status (* switch_packet)(void *data); /** * Returns a stream instance (weak reference) for the given @@ -320,10 +309,6 @@ BT_HIDDEN enum ctf_msg_iter_status ctf_msg_iter_curr_packet_last_event_clock_snapshot( struct ctf_msg_iter *msg_it, uint64_t *last_event_cs); -BT_HIDDEN -void ctf_msg_iter_set_medops_data(struct ctf_msg_iter *msg_it, - void *medops_data); - BT_HIDDEN enum ctf_msg_iter_status ctf_msg_iter_seek( struct ctf_msg_iter *msg_it, off_t offset); @@ -365,8 +350,6 @@ const char *ctf_msg_iter_medium_status_string( return "EOF"; case CTF_MSG_ITER_MEDIUM_STATUS_AGAIN: return "AGAIN"; - case CTF_MSG_ITER_MEDIUM_STATUS_INVAL: - return "INVAL"; case CTF_MSG_ITER_MEDIUM_STATUS_ERROR: return "ERROR"; case CTF_MSG_ITER_MEDIUM_STATUS_OK: @@ -385,8 +368,6 @@ const char *ctf_msg_iter_status_string( return "EOF"; case CTF_MSG_ITER_STATUS_AGAIN: return "AGAIN"; - case CTF_MSG_ITER_STATUS_INVAL: - return "INVAL"; case CTF_MSG_ITER_STATUS_ERROR: return "ERROR"; case CTF_MSG_ITER_STATUS_OK: