1
0
Fork 0
mbuni/mbuni/mmsbox/mmsbox_resolve.h

44 lines
1.6 KiB
C

/*
* Mbuni - Open Source MMS Gateway
*
* Resolving MSISDNs to local/remote MMSBox MMSC - interface
*
* Copyright (C) 2003 - 2007, Digital Solutions Ltd. - http://www.dsmagic.com
*
* Paul Bagyenda <bagyenda@dsmagic.com>
*
* This program is free software, distributed under the terms of
* the GNU General Public License, with a few exceptions granted (see LICENSE)
*/
#ifndef __MMSBOX_RESOLVE_INCLUDED__
#define __MMSBOX_RESOLVE_INCLUDED__
#include <time.h>
#include "gwlib/gwlib.h"
/* Resolver module. This file provides prototypes for all resolver functions.
* the module is loaded once and _init is called once at load.
* _resolve is called for each incoming message to determine how to route it.
*/
typedef struct MmsBoxResolverFuncStruct {
/* This function is called once to initialise the resolver module. Return a generic object,
* which is passed with each resolution request..
*/
void *(*mmsbox_resolvermodule_init)(char *settings);
/* Looks up the sender and receiver msisdns and returns the ID of the MMC connection through which
* the received message should be sent.
* Note: This function may modify sender and/or receive to match prefered usage.
* Return NULL or the empty string to send the message to a service (normal behavior)
*/
Octstr *(*mmsbox_resolve)(Octstr *pfrom, Octstr *pto, char *from_mmsc,
void *module_data, void *settings);
int (*mmsbox_resolvermodule_fini)(void *module_data);
} MmsBoxResolverFuncStruct;
extern MmsBoxResolverFuncStruct mmsbox_resolvefuncs; /* The module must expose this symbol. */
#endif