Lines Matching full:provider

2  * provider.c
30 * $Id: provider.c,v 1.5 2004/01/13 01:54:39 max Exp $
39 #include "provider.h"
41 static TAILQ_HEAD(, provider) providers = TAILQ_HEAD_INITIALIZER(providers);
46 * Register Service Discovery provider.
85 * Register new provider for a given profile, bdaddr and session.
92 provider_p provider = calloc(1, sizeof(*provider)); in provider_register() local
94 if (provider != NULL) { in provider_register()
95 provider->data = malloc(datalen); in provider_register()
96 if (provider->data != NULL) { in provider_register()
97 provider->profile = profile; in provider_register()
98 memcpy(provider->data, data, datalen); in provider_register()
108 provider->handle = handle; in provider_register()
110 memcpy(&provider->bdaddr, bdaddr, in provider_register()
111 sizeof(provider->bdaddr)); in provider_register()
112 provider->fd = fd; in provider_register()
114 TAILQ_INSERT_TAIL(&providers, provider, provider_next); in provider_register()
117 free(provider); in provider_register()
118 provider = NULL; in provider_register()
122 return (provider); in provider_register()
126 * Unregister provider
130 provider_unregister(provider_p provider) in provider_unregister() argument
132 TAILQ_REMOVE(&providers, provider, provider_next); in provider_unregister()
133 if (provider->data != NULL) in provider_unregister()
134 free(provider->data); in provider_unregister()
135 free(provider); in provider_unregister()
140 * Update provider data
144 provider_update(provider_p provider, uint8_t const *data, uint32_t datalen) in provider_update() argument
146 uint8_t *new_data = (uint8_t *) realloc(provider->data, datalen); in provider_update()
152 provider->data = new_data; in provider_update()
158 * Get a provider for given record handle
164 provider_p provider = NULL; in provider_by_handle() local
166 TAILQ_FOREACH(provider, &providers, provider_next) in provider_by_handle()
167 if (provider->handle == handle) in provider_by_handle()
170 return (provider); in provider_by_handle()
184 provider_get_next(provider_p provider) in provider_get_next() argument
186 return (TAILQ_NEXT(provider, provider_next)); in provider_get_next()