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
|
/* SPDX-License-Identifier: GPL-2.0-or-later */
/*
*
* OBEX Server
*
* Copyright (C) 2007-2010 Marcel Holtmann <marcel@holtmann.org>
*
*
*/
#define OBEX_PORT_RANDOM UINT16_MAX
struct obex_service_driver {
const char *name;
uint16_t service;
uint8_t channel;
uint16_t port;
gboolean secure;
const uint8_t *target;
unsigned int target_size;
const uint8_t *who;
unsigned int who_size;
const char *record;
void *(*connect) (struct obex_session *os, int *err);
void (*progress) (struct obex_session *os, void *user_data);
int (*get) (struct obex_session *os, void *user_data);
int (*put) (struct obex_session *os, void *user_data);
int (*chkput) (struct obex_session *os, void *user_data);
int (*setpath) (struct obex_session *os, void *user_data);
int (*action) (struct obex_session *os, void *user_data);
void (*disconnect) (struct obex_session *os, void *user_data);
void (*reset) (struct obex_session *os, void *user_data);
};
int obex_service_driver_register(const struct obex_service_driver *driver);
void obex_service_driver_unregister(const struct obex_service_driver *driver);
GSList *obex_service_driver_list(uint16_t services);
const struct obex_service_driver *obex_service_driver_find(GSList *drivers,
const uint8_t *target, unsigned int target_size,
const uint8_t *who, unsigned int who_size);
|