aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/libcoopgamma.c13
-rw-r--r--src/libcoopgamma.h8
2 files changed, 21 insertions, 0 deletions
diff --git a/src/libcoopgamma.c b/src/libcoopgamma.c
index fbdef21..c4f13ab 100644
--- a/src/libcoopgamma.c
+++ b/src/libcoopgamma.c
@@ -1742,6 +1742,19 @@ static char* next_payload(libcoopgamma_context_t* restrict ctx, size_t* n)
/**
+ * Tell the library that you will not be parsing a receive message
+ *
+ * @param ctx The state of the library, must be connected
+ */
+void libcoopgamma_skip_message(libcoopgamma_context_t* restrict ctx)
+{
+ size_t _n;
+ while (*next_header(ctx));
+ (void) next_payload(ctx, &_n);
+}
+
+
+/**
* Check whether the server sent an error, if so copy it to `ctx`
*
* This function will also reports EBADMSG if the message ID
diff --git a/src/libcoopgamma.h b/src/libcoopgamma.h
index f670afa..1022f1e 100644
--- a/src/libcoopgamma.h
+++ b/src/libcoopgamma.h
@@ -1465,6 +1465,14 @@ LIBCOOPGAMMA_GCC_ONLY(__attribute__((__nonnull__(1, 4), __leaf__)))
int libcoopgamma_synchronise(libcoopgamma_context_t* restrict, libcoopgamma_async_context_t* restrict,
size_t, size_t* restrict);
+/**
+ * Tell the library that you will not be parsing a receive message
+ *
+ * @param ctx The state of the library, must be connected
+ */
+LIBCOOPGAMMA_GCC_ONLY(__attribute__((__nonnull__)))
+void libcoopgamma_skip_message(libcoopgamma_context_t* restrict);
+
/**
* List all available CRTC:s, send request part