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
next 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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).