File: obex_body.h

package info (click to toggle)
libopenobex 1.7.2-2.3
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 984 kB
  • sloc: ansic: 9,988; xml: 407; makefile: 29
file content (50 lines) | stat: -rw-r--r-- 1,486 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
/**
 * @file obex_body.h
 *
 * OBEX body reception releated functions.
 * OpenOBEX library - Free implementation of the Object Exchange protocol.
 *
 * Copyright (c) 2012 Hendrik Sattler, All Rights Reserved.
 *
 * OpenOBEX is free software; you can redistribute it and/or modify it under
 * the terms of the GNU Lesser General Public License as published by the
 * Free Software Foundation; either version 2.1 of the License, or (at your
 * option) any later version.
 *
 * This program is distributed in the hope that it will be useful, but WITHOUT
 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
 * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Lesser General Public License
 * for more details.
 *
 * You should have received a copy of the GNU Lesser General Public License
 * along with OpenOBEX. If not, see <http://www.gnu.org/>.
 */

#ifndef OBEX_BODY_H
#define OBEX_BODY_H

#include <stdlib.h>
#include "defines.h"

struct obex;
struct obex_hdr;
struct obex_object;

struct obex_body_ops {
	int (*rcv)(void *data, struct obex_hdr *hdr);
	const void * (*read)(void *data, size_t *size);
};

struct obex_body {
	struct obex_body_ops *ops;
	void *data;
};


int obex_body_rcv(struct obex_body *self, struct obex_hdr *hdr);
const void * obex_body_read(struct obex_body *self, size_t *size);

struct obex_body * obex_body_stream_create(struct obex *obex);
struct obex_body * obex_body_buffered_create(struct obex_object *object);

#endif /* OBEX_BODY_H */