[pulseaudio-discuss] [PATCH v2] document general error handling
Peter Meerwald
pmeerw at pmeerw.net
Sun Jan 8 02:13:37 PST 2012
changes:
* address comment regarding zero value (John Haxby)
---
src/pulse/def.h | 7 +++++--
src/pulse/pulseaudio.h | 17 +++++++++++++++++
2 files changed, 22 insertions(+), 2 deletions(-)
diff --git a/src/pulse/def.h b/src/pulse/def.h
index 98d3651..cfce95c 100644
--- a/src/pulse/def.h
+++ b/src/pulse/def.h
@@ -398,8 +398,11 @@ typedef struct pa_buffer_attr {
} pa_buffer_attr;
-/** Error values as used by pa_context_errno(). Use pa_strerror() to convert these values to human readable strings */
-enum {
+/** Error values as returned by functions of the \ref async and
+ * pa_context_errno(), and the \ref simple.
+ *
+ * Use pa_strerror() to convert these values to human readable strings. */
+enum pa_error_code {
PA_OK = 0, /**< No error */
PA_ERR_ACCESS, /**< Access failure */
PA_ERR_COMMAND, /**< Unknown command */
diff --git a/src/pulse/pulseaudio.h b/src/pulse/pulseaudio.h
index bb71772..74a0cc1 100644
--- a/src/pulse/pulseaudio.h
+++ b/src/pulse/pulseaudio.h
@@ -105,6 +105,23 @@
* to make sure event objects are not manipulated when any other code is
* using the main loop.
*
+ * \section error_sec Error Handling
+ *
+ * The PulseAudio API indicates error conditions by returning a negative
+ * integer value or a NULL pointer. On success, zero or a positive integer
+ * value or a valid pointer is returned.
+ *
+ * Functions of the \ref simple generally return -1 or NULL on failure and
+ * can optionally store an error code (see ::pa_error_code) using a pointer
+ * argument.
+ *
+ * Functions of the \ref async return an negative error code or NULL on
+ * failure (see ::pa_error_code). In the later case, pa_context_errno()
+ * can be used to obtain the error code of the last failed operation.
+ *
+ * An error code can be turned into a human readable message using
+ * pa_strerror().
+ *
* \section pkgconfig pkg-config
*
* The PulseAudio libraries provide pkg-config snippets for the different
--
1.7.8.2
More information about the pulseaudio-discuss
mailing list