diff options
author | Bartosz Szatkowski <bulislaw@linux.com> | 2011-12-08 14:07:53 +0100 |
---|---|---|
committer | Marcel Holtmann <marcel@holtmann.org> | 2012-12-04 22:22:04 +0100 |
commit | d2b34b6a68f0e00b75251f064af88af7515ee955 (patch) | |
tree | 8612ca3af4e710c43bc6f135065b87903b6c22a9 /gobex/gobex.c | |
parent | 48497a481e4cf052798bb206f08f75c28b026f2c (diff) | |
download | bluez-d2b34b6a68f0e00b75251f064af88af7515ee955.tar.gz |
gobex: Add translating error codes to strings
Diffstat (limited to 'gobex/gobex.c')
-rw-r--r-- | gobex/gobex.c | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/gobex/gobex.c b/gobex/gobex.c index b374b0665..036a44a1e 100644 --- a/gobex/gobex.c +++ b/gobex/gobex.c @@ -114,6 +114,63 @@ struct setpath_data { guint8 constants; } __attribute__ ((packed)); +static 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 Authentication 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, "Request Entity Too Large" }, + { G_OBEX_RSP_REQ_URL_TOO_LARGE, "Request 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" }, + { 0x00, NULL } +}; + +const char *g_obex_strerror(guint8 err_code) +{ + struct error_code *error; + + for (error = obex_errors; error->name != NULL; error++) { + if (error->code == err_code) + return error->name; + } + + return "<unknown>"; +} + static ssize_t req_header_offset(guint8 opcode) { switch (opcode) { |