struct _GObexHeader {
guint8 id;
gboolean extdata;
- size_t vlen; /* Length of value */
- size_t hlen; /* Length of full encoded header */
+ gsize vlen; /* Length of value */
+ gsize hlen; /* Length of full encoded header */
union {
char *string; /* UTF-8 converted from UTF-16 */
guint8 *data; /* Own buffer */
return utf16_len;
}
-static guint8 *put_bytes(guint8 *to, const void *from, size_t count)
+static guint8 *put_bytes(guint8 *to, const void *from, gsize count)
{
memcpy(to, from, count);
return (to + count);
}
-static const guint8 *get_bytes(void *to, const guint8 *from, size_t count)
+static const guint8 *get_bytes(void *to, const guint8 *from, gsize count)
{
memcpy(to, from, count);
return (from + count);
}
-size_t g_obex_header_encode(GObexHeader *header, void *buf, size_t buf_len)
+gsize g_obex_header_encode(GObexHeader *header, void *buf, gsize buf_len)
{
guint8 *ptr = buf;
guint16 u16;
return header->hlen;
}
-GObexHeader *g_obex_header_decode(const void *data, size_t len,
- GObexDataPolicy data_policy, size_t *parsed)
+GObexHeader *g_obex_header_decode(const void *data, gsize len,
+ GObexDataPolicy data_policy, gsize *parsed)
{
GObexHeader *header;
const guint8 *ptr = data;
guint16 hdr_len;
- size_t str_len;
+ gsize str_len;
if (len < 2)
return NULL;
if (header->v.string == NULL)
goto failed;
- header->vlen = (size_t) str_len;
+ header->vlen = (gsize) str_len;
header->hlen = hdr_len;
*parsed = hdr_len;
}
gboolean g_obex_header_get_bytes(GObexHeader *header, const guint8 **val,
- size_t *len)
+ gsize *len)
{
if (G_OBEX_HDR_TYPE(header->id) != G_OBEX_HDR_TYPE_BYTES)
return FALSE;
GObexHeader *g_obex_header_new_unicode(guint8 id, const char *str)
{
GObexHeader *header;
- size_t len;
+ gsize len;
if (G_OBEX_HDR_TYPE(id) != G_OBEX_HDR_TYPE_UNICODE)
return NULL;
return header;
}
-GObexHeader *g_obex_header_new_bytes(guint8 id, void *data, size_t len,
+GObexHeader *g_obex_header_new_bytes(guint8 id, void *data, gsize len,
GObexDataPolicy data_policy)
{
GObexHeader *header;
gboolean g_obex_header_get_unicode(GObexHeader *header, const char **str);
gboolean g_obex_header_get_bytes(GObexHeader *header, const guint8 **val,
- size_t *len);
+ gsize *len);
gboolean g_obex_header_get_uint8(GObexHeader *header, guint8 *val);
gboolean g_obex_header_get_uint32(GObexHeader *header, guint32 *val);
GObexHeader *g_obex_header_new_unicode(guint8 id, const char *str);
-GObexHeader *g_obex_header_new_bytes(guint8 id, void *data, size_t len,
+GObexHeader *g_obex_header_new_bytes(guint8 id, void *data, gsize len,
GObexDataPolicy data_policy);
GObexHeader *g_obex_header_new_uint8(guint8 id, guint8 val);
GObexHeader *g_obex_header_new_uint32(guint8 id, guint32 val);
guint8 g_obex_header_get_id(GObexHeader *header);
guint16 g_obex_header_get_length(GObexHeader *header);
-size_t g_obex_header_encode(GObexHeader *header, void *hdr_ptr, size_t buf_len);
-GObexHeader *g_obex_header_decode(const void *data, size_t len,
- GObexDataPolicy data_policy, size_t *parsed);
+gsize g_obex_header_encode(GObexHeader *header, void *hdr_ptr, gsize buf_len);
+GObexHeader *g_obex_header_decode(const void *data, gsize len,
+ GObexDataPolicy data_policy, gsize *parsed);
void g_obex_header_free(GObexHeader *header);
#endif /* __GOBEX_HEADER_H */
void *buf; /* Non-header data */
const void *buf_ref; /* Reference to non-header data */
} data;
- size_t data_len;
+ gsize data_len;
- size_t hlen; /* Length of all encoded headers */
+ gsize hlen; /* Length of all encoded headers */
GSList *headers;
};
return TRUE;
}
-const void *g_obex_packet_get_data(GObexPacket *pkt, size_t *len)
+const void *g_obex_packet_get_data(GObexPacket *pkt, gsize *len)
{
if (pkt->data_len == 0) {
*len = 0;
g_assert_not_reached();
}
-gboolean g_obex_packet_set_data(GObexPacket *pkt, const void *data, size_t len,
+gboolean g_obex_packet_set_data(GObexPacket *pkt, const void *data, gsize len,
GObexDataPolicy data_policy)
{
if (pkt->data.buf || pkt->data.buf_ref)
g_free(pkt);
}
-static gboolean parse_headers(GObexPacket *pkt, const void *data, size_t len,
+static gboolean parse_headers(GObexPacket *pkt, const void *data, gsize len,
GObexDataPolicy data_policy)
{
const guint8 *buf = data;
while (len > 0) {
GObexHeader *header;
- size_t parsed;
+ gsize parsed;
header = g_obex_header_decode(buf, len, data_policy, &parsed);
if (header == NULL)
return TRUE;
}
-static const guint8 *get_bytes(void *to, const guint8 *from, size_t count)
+static const guint8 *get_bytes(void *to, const guint8 *from, gsize count)
{
memcpy(to, from, count);
return (from + count);
}
-GObexPacket *g_obex_packet_decode(const void *data, size_t len,
- size_t header_offset,
+GObexPacket *g_obex_packet_decode(const void *data, gsize len,
+ gsize header_offset,
GObexDataPolicy data_policy)
{
const guint8 *buf = data;
return NULL;
}
-ssize_t g_obex_packet_encode(GObexPacket *pkt, guint8 *buf, size_t len)
+gssize g_obex_packet_encode(GObexPacket *pkt, guint8 *buf, gsize len)
{
- size_t count;
+ gsize count;
guint16 pkt_len, u16;
GSList *l;
#ifndef __GOBEX_PACKET_H
#define __GOBEX_PACKET_H
-#include <unistd.h>
-
#include <glib.h>
#include <gobex/gobex-defs.h>
GObexHeader *g_obex_packet_get_header(GObexPacket *pkt, guint8 id);
guint8 g_obex_packet_get_operation(GObexPacket *pkt, gboolean *final);
gboolean g_obex_packet_add_header(GObexPacket *pkt, GObexHeader *header);
-gboolean g_obex_packet_set_data(GObexPacket *pkt, const void *data, size_t len,
+gboolean g_obex_packet_set_data(GObexPacket *pkt, const void *data, gsize len,
GObexDataPolicy data_policy);
-const void *g_obex_packet_get_data(GObexPacket *pkt, size_t *len);
+const void *g_obex_packet_get_data(GObexPacket *pkt, gsize *len);
GObexPacket *g_obex_packet_new(guint8 opcode, gboolean final);
void g_obex_packet_free(GObexPacket *pkt);
-GObexPacket *g_obex_packet_decode(const void *data, size_t len,
- size_t header_offset,
+GObexPacket *g_obex_packet_decode(const void *data, gsize len,
+ gsize header_offset,
GObexDataPolicy data_policy);
-ssize_t g_obex_packet_encode(GObexPacket *pkt, guint8 *buf, size_t len);
+gssize g_obex_packet_encode(GObexPacket *pkt, guint8 *buf, gsize len);
#endif /* __GOBEX_PACKET_H */