All of lore.kernel.org
 help / color / mirror / Atom feed
From: Bartosz Szatkowski <bulislaw@linux.com>
To: linux-bluetooth@vger.kernel.org
Cc: Bartosz Szatkowski <bulislaw@linux.com>
Subject: [PATCH obexd 1/6] gobex: Add translating error codes to strings
Date: Mon,  5 Dec 2011 12:41:44 +0100	[thread overview]
Message-ID: <1323085309-23094-1-git-send-email-bulislaw@linux.com> (raw)

---
 gobex/gobex.c |   56 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 gobex/gobex.h |    2 ++
 2 files changed, 58 insertions(+), 0 deletions(-)

diff --git a/gobex/gobex.c b/gobex/gobex.c
index b374b06..9fe7a1a 100644
--- a/gobex/gobex.c
+++ b/gobex/gobex.c
@@ -114,6 +114,62 @@ struct setpath_data {
 	guint8 constants;
 } __attribute__ ((packed));
 
+struct error_code {
+	guint8 code;
+	const char *name;
+} obex_errors[] = {
+	{ G_OBEX_RSP_CONTINUE, "Continue" },
+	{ G_OBEX_RSP_SUCCESS, "Success" },
+	{ G_OBEX_RSP_CREATED, "Created" },
+	{ G_OBEX_RSP_ACCEPTED, "Accepted" },
+	{ G_OBEX_RSP_NON_AUTHORITATIVE, "Non Authoritative" },
+	{ G_OBEX_RSP_NO_CONTENT, "No Content" },
+	{ G_OBEX_RSP_RESET_CONTENT, "Reset Content" },
+	{ G_OBEX_RSP_PARTIAL_CONTENT, "Partial Content" },
+	{ G_OBEX_RSP_MULTIPLE_CHOICES, "Multiple Choices" },
+	{ G_OBEX_RSP_MOVED_PERMANENTLY, "Moved Permanently" },
+	{ G_OBEX_RSP_MOVED_TEMPORARILY, "Moved Temporarily" },
+	{ G_OBEX_RSP_SEE_OTHER, "See Other" },
+	{ G_OBEX_RSP_NOT_MODIFIED, "Not Modified" },
+	{ G_OBEX_RSP_USE_PROXY, "Use Proxy" },
+	{ G_OBEX_RSP_BAD_REQUEST, "Bad Request" },
+	{ G_OBEX_RSP_UNAUTHORIZED, "Unauthorized" },
+	{ G_OBEX_RSP_PAYMENT_REQUIRED, "Payment Required" },
+	{ G_OBEX_RSP_FORBIDDEN, "Forbidden" },
+	{ G_OBEX_RSP_NOT_FOUND, "Not Found" },
+	{ G_OBEX_RSP_METHOD_NOT_ALLOWED, "Method Not Allowed" },
+	{ G_OBEX_RSP_NOT_ACCEPTABLE, "Not Acceptable" },
+	{ G_OBEX_RSP_PROXY_AUTH_REQUIRED, "Proxy Auth Required" },
+	{ G_OBEX_RSP_REQUEST_TIME_OUT, "Request Time Out" },
+	{ G_OBEX_RSP_CONFLICT, "Conflict" },
+	{ G_OBEX_RSP_GONE, "Gone" },
+	{ G_OBEX_RSP_LENGTH_REQUIRED, "Length Required" },
+	{ G_OBEX_RSP_PRECONDITION_FAILED, "Precondition Failed" },
+	{ G_OBEX_RSP_REQ_ENTITY_TOO_LARGE, "Req Entity Too Large" },
+	{ G_OBEX_RSP_REQ_URL_TOO_LARGE, "Req Url Too Large" },
+	{ G_OBEX_RSP_UNSUPPORTED_MEDIA_TYPE, "Unsupported Media Type" },
+	{ G_OBEX_RSP_INTERNAL_SERVER_ERROR, "Internal Server Error" },
+	{ G_OBEX_RSP_NOT_IMPLEMENTED, "Not Implemented" },
+	{ G_OBEX_RSP_BAD_GATEWAY, "Bad Gateway" },
+	{ G_OBEX_RSP_SERVICE_UNAVAILABLE, "Service Unavailable" },
+	{ G_OBEX_RSP_GATEWAY_TIMEOUT, "Gateway Timeout" },
+	{ G_OBEX_RSP_VERSION_NOT_SUPPORTED, "Version Not Supported" },
+	{ G_OBEX_RSP_DATABASE_FULL, "Database Full" },
+	{ G_OBEX_RSP_DATABASE_LOCKED, "Database Locked" },
+	{ }
+};
+
+const char *g_obex_strerror(guint8 err_code)
+{
+	struct error_code *error;
+
+	for (error = obex_errors; error != NULL; error++)
+		if (error->code == err_code)
+			return error->name;
+
+	return "<unknown>";
+}
+
 static ssize_t req_header_offset(guint8 opcode)
 {
 	switch (opcode) {
diff --git a/gobex/gobex.h b/gobex/gobex.h
index 1b20333..81981ea 100644
--- a/gobex/gobex.h
+++ b/gobex/gobex.h
@@ -119,4 +119,6 @@ guint g_obex_get_rsp(GObex *obex, GObexDataProducer data_func,
 
 gboolean g_obex_cancel_transfer(guint id);
 
+const char *g_obex_strerror(guint8 err_code);
+
 #endif /* __GOBEX_H */
-- 
1.7.4.1


             reply	other threads:[~2011-12-05 11:41 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-12-05 11:41 Bartosz Szatkowski [this message]
2011-12-05 11:41 ` [PATCH obexd 2/6] Add basic support for MAP client in obex-client Bartosz Szatkowski
2011-12-05 11:41 ` [PATCH obexd 3/6] Add support for SetFolder in MAP client Bartosz Szatkowski
2011-12-05 11:41 ` [PATCH obexd 4/6] Add simple helper for " Bartosz Szatkowski
2011-12-05 11:41 ` [PATCH obexd 5/6] Add basic support for MAP folder listing Bartosz Szatkowski
2011-12-05 11:41 ` [PATCH obexd 6/6] Add support for PullMessagesListing in MAP client Bartosz Szatkowski
2011-12-08 11:07 ` [PATCH obexd 1/6] gobex: Add translating error codes to strings Johan Hedberg
  -- strict thread matches above, loose matches on Subject: below --
2011-12-08 13:07 Bartosz Szatkowski

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1323085309-23094-1-git-send-email-bulislaw@linux.com \
    --to=bulislaw@linux.com \
    --cc=linux-bluetooth@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.