queue.h
Go to the documentation of this file.
1/* Copyright (c) 2004-2009, Isode Limited, London, England.
2 * All rights reserved.
3 *
4 * Acquisition and use of this software and related materials for any
5 * purpose requires a written licence agreement from Isode Limited,
6 * or a written licence from an organisation licenced by Isode Limited
7 * to grant such a licence.
8 *
9 */
10
11#ifndef _SOM_QUEUE_H
12#define _SOM_QUEUE_H
13
14#include "session.h"
15#include "queueatt.h"
16
33#define SOM_FACILITY_QUEUE (1<<1)
35/* Object types */
36
37struct SOMQchannel;
38struct SOMQmta;
39struct SOMQmessage;
40struct SOMQrecip;
41struct SOMQinmsg;
42struct SOMQassoc;
43
58typedef void SOMQueueCallback (struct SOMSession *session,
59 void *ophandle,
60 void *clientdata,
61 int status);
62
75typedef void SOMQchannelCallback (struct SOMSession *session,
76 void *ophandle,
77 void *clientdata,
78 struct SOMQchannel *channel);
79
80
93typedef void SOMQmtaCallback (struct SOMSession *session,
94 void *ophandle,
95 void *clientdata,
96 struct SOMQmta *mta);
97
98
113typedef void SOMQmessageCallback (struct SOMSession *session,
114 void *ophandle,
115 void *clientdata,
116 struct SOMQmessage *message);
117
118
119/* Callback setting functions */
120
132SOMAPI_CDECL int SOMQueueSetCallback (struct SOMSession *session,
133 SOMQueueCallback *callback,
134 SOMQueueCallback **oldvalue);
135
136
137
149SOMAPI_CDECL int SOMQueueSetChannelCallback (struct SOMSession *session,
150 SOMQchannelCallback *callback,
151 SOMQchannelCallback **oldvalue);
152
153
154
166SOMAPI_CDECL int SOMQueueSetMtaCallback (struct SOMSession *session,
167 SOMQmtaCallback *callback,
168 SOMQmtaCallback **oldvalue);
169
170
171
183SOMAPI_CDECL int SOMQueueSetMessageCallback (struct SOMSession *session,
184 SOMQmessageCallback *callback,
185 SOMQmessageCallback **oldvalue);
186
187
188/* \} */
189
207SOMAPI_CDECL int SOMQmanagerGetStrParam (struct SOMSession *session,
208 int paramtype,
209 char *buffer,
210 size_t buflen,
211 size_t *paramlenp);
212
213
222SOMAPI_CDECL int SOMQmanagerGetIntParam (struct SOMSession *session,
223 int paramtype,
224 int *valp);
225
236SOMAPI_CDECL int SOMQchannelGetStrParam (struct SOMQchannel *channel,
237 int paramtype,
238 char *buffer,
239 size_t buflen,
240 size_t *paramlenp);
241
242
251SOMAPI_CDECL int SOMQchannelGetIntParam (struct SOMQchannel *channel,
252 int paramtype,
253 int *valp);
254
265SOMAPI_CDECL int SOMQmtaGetStrParam (struct SOMQmta *mta,
266 int paramtype,
267 char *buffer,
268 size_t buflen,
269 size_t *paramlenp);
270
271
280SOMAPI_CDECL int SOMQmtaGetIntParam (struct SOMQmta *mta,
281 int paramtype,
282 int *valp);
283
298SOMAPI_CDECL int SOMQmtaGetInmsg (struct SOMQmta *mta,
299 int number,
300 int getnext,
301 struct SOMQinmsg **inmpp);
302
316SOMAPI_CDECL int SOMQmtaGetAssoc (struct SOMQmta *mta,
317 int assocnum,
318 int getnext,
319 struct SOMQassoc **aspp);
320
331SOMAPI_CDECL int SOMQmessageGetStrParam (struct SOMQmessage *message,
332 int paramtype,
333 char *buffer,
334 size_t buflen,
335 size_t *paramlenp);
336
337
346SOMAPI_CDECL int SOMQmessageGetIntParam (struct SOMQmessage *message,
347 int paramtype,
348 int *valp);
349
350
361SOMAPI_CDECL int SOMQmessageGetRecip (struct SOMQmessage *message,
362 int number,
363 struct SOMQrecip **rpp);
364
375SOMAPI_CDECL int SOMQrecipGetStrParam (struct SOMQrecip *recip,
376 int paramtype,
377 char *buffer,
378 size_t buflen,
379 size_t *paramlenp);
380
381
390SOMAPI_CDECL int SOMQrecipGetIntParam (struct SOMQrecip *recip,
391 int paramtype,
392 int *valp);
393
404SOMAPI_CDECL int SOMQinmsgGetStrParam (struct SOMQinmsg *inmsg,
405 int paramtype,
406 char *buffer,
407 size_t buflen,
408 size_t *paramlenp);
409
410
419SOMAPI_CDECL int SOMQinmsgGetIntParam (struct SOMQinmsg *inmsg,
420 int paramtype,
421 int *valp);
422
433SOMAPI_CDECL int SOMQassocGetStrParam (struct SOMQassoc *assoc,
434 int paramtype,
435 char *buffer,
436 size_t buflen,
437 size_t *paramlenp);
438
439
448SOMAPI_CDECL int SOMQassocGetIntParam (struct SOMQassoc *assoc,
449 int paramtype,
450 int *valp);
451
452/* \} */
453
465struct SOMQfilterSet;
466struct SOMQfilter;
467struct SOMQselector;
468
474SOMAPI_CDECL struct SOMQfilter *SOMQfilterNew (void);
475
483SOMAPI_CDECL struct SOMQfilter *SOMQfilterChain (struct SOMQfilter *fp,
484 struct SOMQfilter *newp);
485
491SOMAPI_CDECL struct SOMQselector *SOMQselectorNew (void);
492
493
502SOMAPI_CDECL int SOMQfilterDelete (struct SOMQfilter *fp);
503
510SOMAPI_CDECL int SOMQselectorDelete (struct SOMQselector *fp);
511
521SOMAPI_CDECL int SOMQfilterAddStrParam (struct SOMQfilter *fp,
522 int paramtype,
523 const char *value,
524 size_t length);
525
535SOMAPI_CDECL int SOMQfilterAddIntParam (struct SOMQfilter *fp,
536 int paramtype,
537 int value);
538
555SOMAPI_CDECL int SOMQselectorAddStrParam (struct SOMQselector *fp,
556 int paramtype,
557 const char *value,
558 size_t length);
559
575SOMAPI_CDECL int SOMQselectorAddIntParam (struct SOMQselector *fp,
576 int paramtype,
577 int value);
578
579/* \} */
580
581
604
637
648SOMAPI_CDECL int SOMQueueControl (struct SOMSession *session,
649 enum som_qmcontrol control,
650 void *ophandle,
651 int async);
652
653
666SOMAPI_CDECL int SOMQueueStatus (struct SOMSession *session,
667 void *ophandle,
668 int async);
669
670
686SOMAPI_CDECL int SOMQchannelControl (struct SOMSession *session,
687 struct SOMQselector *selector,
688 enum som_qocontrol control,
689 const char *data,
690 int datalen,
691 void *ophandle,
692 int async);
693
694
707SOMAPI_CDECL int SOMQchannelRead (struct SOMSession *session,
708 struct SOMQselector *selector,
709 void *ophandle,
710 int async);
711
727SOMAPI_CDECL int SOMQmtaControl (struct SOMSession *session,
728 struct SOMQselector *selector,
729 enum som_qocontrol control,
730 const char *data,
731 int datalen,
732 void *ophandle,
733 int async);
734
735
753SOMAPI_CDECL int SOMQmtaRead (struct SOMSession *session,
754 struct SOMQselector *selector,
755 int limit,
756 void *ophandle,
757 int async);
758
774SOMAPI_CDECL int SOMQmessageControl (struct SOMSession *session,
775 struct SOMQselector *selector,
776 enum som_qocontrol control,
777 const char *data,
778 int datalen,
779 void *ophandle,
780 int async);
781
782
796SOMAPI_CDECL int SOMQmessageRead (struct SOMSession *session,
797 struct SOMQselector *selector,
798 int limit,
799 void *ophandle,
800 int async);
801
802
815SOMAPI_CDECL int SOMQmessageSearch (struct SOMSession *session,
816 struct SOMQfilter *filter,
817 void *ophandle,
818 int async);
819
820
821/* \} */
822
823#endif /* _SOM_QUEUE_H */
int SOMQueueSetMtaCallback(struct SOMSession *session, SOMQmtaCallback *callback, SOMQmtaCallback **oldvalue)
Set the callback function for Mtas for this session.
int SOMQueueSetCallback(struct SOMSession *session, SOMQueueCallback *callback, SOMQueueCallback **oldvalue)
Set the Queue callback function for this session.
int SOMQueueSetMessageCallback(struct SOMSession *session, SOMQmessageCallback *callback, SOMQmessageCallback **oldvalue)
Set the callback function for messages for this session.
void SOMQmtaCallback(struct SOMSession *session, void *ophandle, void *clientdata, struct SOMQmta *mta)
Prototype for callback for reporting mta object.
Definition queue.h:93
void SOMQueueCallback(struct SOMSession *session, void *ophandle, void *clientdata, int status)
Prototype for callback for queue operation completion.
Definition queue.h:58
int SOMQueueSetChannelCallback(struct SOMSession *session, SOMQchannelCallback *callback, SOMQchannelCallback **oldvalue)
Set the callback function for channel objects for this session.
void SOMQchannelCallback(struct SOMSession *session, void *ophandle, void *clientdata, struct SOMQchannel *channel)
Prototype for callback for reporting channel object.
Definition queue.h:75
void SOMQmessageCallback(struct SOMSession *session, void *ophandle, void *clientdata, struct SOMQmessage *message)
Prototype for callback for reporting message object.
Definition queue.h:113
int SOMQchannelGetIntParam(struct SOMQchannel *channel, int paramtype, int *valp)
Return an integer-valued parameter from the channel object.
int SOMQrecipGetStrParam(struct SOMQrecip *recip, int paramtype, char *buffer, size_t buflen, size_t *paramlenp)
Return an string-valued parameter from the recip object.
int SOMQassocGetIntParam(struct SOMQassoc *assoc, int paramtype, int *valp)
Return an integer-valued parameter from the association object.
int SOMQmessageGetStrParam(struct SOMQmessage *message, int paramtype, char *buffer, size_t buflen, size_t *paramlenp)
Return an string-valued parameter from the message object.
int SOMQinmsgGetStrParam(struct SOMQinmsg *inmsg, int paramtype, char *buffer, size_t buflen, size_t *paramlenp)
Return an string-valued parameter from the inbound message object.
int SOMQchannelGetStrParam(struct SOMQchannel *channel, int paramtype, char *buffer, size_t buflen, size_t *paramlenp)
Return an string-valued parameter from the channel object.
int SOMQmtaGetIntParam(struct SOMQmta *mta, int paramtype, int *valp)
Return an integer-valued parameter from the mta object.
int SOMQassocGetStrParam(struct SOMQassoc *assoc, int paramtype, char *buffer, size_t buflen, size_t *paramlenp)
Return an string-valued parameter from the association object.
int SOMQinmsgGetIntParam(struct SOMQinmsg *inmsg, int paramtype, int *valp)
Return an integer-valued parameter from the inbound message object.
int SOMQmtaGetAssoc(struct SOMQmta *mta, int assocnum, int getnext, struct SOMQassoc **aspp)
Return the pointer to an inbound message object.
int SOMQmtaGetStrParam(struct SOMQmta *mta, int paramtype, char *buffer, size_t buflen, size_t *paramlenp)
Return an string-valued parameter from the mta object.
int SOMQmessageGetIntParam(struct SOMQmessage *message, int paramtype, int *valp)
Return an integer-valued parameter from the message object.
int SOMQrecipGetIntParam(struct SOMQrecip *recip, int paramtype, int *valp)
Return an integer-valued parameter from the recip object.
int SOMQmtaGetInmsg(struct SOMQmta *mta, int number, int getnext, struct SOMQinmsg **inmpp)
Return the pointer to an inbound message object.
int SOMQmanagerGetStrParam(struct SOMSession *session, int paramtype, char *buffer, size_t buflen, size_t *paramlenp)
Return an string-valued parameter from the manager object.
int SOMQmessageGetRecip(struct SOMQmessage *message, int number, struct SOMQrecip **rpp)
Return the pointer to a recipient object.
int SOMQmanagerGetIntParam(struct SOMSession *session, int paramtype, int *valp)
Return an integer-valued parameter from the manager object.
int SOMQmessageControl(struct SOMSession *session, struct SOMQselector *selector, enum som_qocontrol control, const char *data, int datalen, void *ophandle, int async)
Perform control operation on Queue Message.
som_qmcontrol
Definition queue.h:591
int SOMQmessageSearch(struct SOMSession *session, struct SOMQfilter *filter, void *ophandle, int async)
Perform control operation on Queue Message.
som_qocontrol
Definition queue.h:606
int SOMQueueControl(struct SOMSession *session, enum som_qmcontrol control, void *ophandle, int async)
Perform control operation on Queue Manager.
int SOMQchannelControl(struct SOMSession *session, struct SOMQselector *selector, enum som_qocontrol control, const char *data, int datalen, void *ophandle, int async)
Perform control operation on Queue Channel.
int SOMQchannelRead(struct SOMSession *session, struct SOMQselector *selector, void *ophandle, int async)
Perform control operation on Queue Channel.
int SOMQmtaControl(struct SOMSession *session, struct SOMQselector *selector, enum som_qocontrol control, const char *data, int datalen, void *ophandle, int async)
Perform control operation on Queue Mta.
int SOMQueueStatus(struct SOMSession *session, void *ophandle, int async)
Get current Queue Manager status.
int SOMQmtaRead(struct SOMSession *session, struct SOMQselector *selector, int limit, void *ophandle, int async)
Perform control operation on Queue Mta.
int SOMQmessageRead(struct SOMSession *session, struct SOMQselector *selector, int limit, void *ophandle, int async)
Perform control operation on Queue Message.
@ SOM_QM_ENABLE_SUBMISSION
Definition queue.h:597
@ SOM_QM_INCREASE_MAXCHANS
Definition queue.h:600
@ SOM_QM_DECREASE_MAXCHANS
Definition queue.h:601
@ SOM_QM_LOAD_CONFIG
Definition queue.h:602
@ SOM_QM_DISABLE_ALL
Definition queue.h:598
@ SOM_QM_REREADQUEUE
Definition queue.h:595
@ SOM_QM_ABORT
Definition queue.h:592
@ SOM_QM_DISABLE_SUBMISSION
Definition queue.h:596
@ SOM_QM_SHUTDOWN
Definition queue.h:593
@ SOM_QM_RESTART
Definition queue.h:594
@ SOM_QM_ENABLE_ALL
Definition queue.h:599
@ SOM_QO_TIMEOUT
Definition queue.h:626
@ SOM_QO_REPROCESS
Definition queue.h:631
@ SOM_QO_DELETE
Definition queue.h:623
@ SOM_QO_PAUSE
Definition queue.h:634
@ SOM_QO_ABORT
Definition queue.h:633
@ SOM_QO_DISCONNECT
Definition queue.h:625
@ SOM_QO_RELOAD
Definition queue.h:632
@ SOM_QO_DELAY_CLEAR
Definition queue.h:611
@ SOM_QO_MINIMISE
Definition queue.h:615
@ SOM_QO_ENABLE_IN
Definition queue.h:610
@ SOM_QO_CONNECT
Definition queue.h:624
@ SOM_QO_DISABLE_IN
Definition queue.h:609
@ SOM_QO_DELAY_SET
Definition queue.h:612
@ SOM_QO_RESUME
Definition queue.h:635
@ SOM_QO_REDIRECT
Definition queue.h:630
@ SOM_QO_STOP
Definition queue.h:607
@ SOM_QO_START
Definition queue.h:608
@ SOM_QO_NONDELIVER
Definition queue.h:627
int SOMQfilterAddStrParam(struct SOMQfilter *fp, int paramtype, const char *value, size_t length)
Add string-valued parameter to the filter.
int SOMQfilterAddIntParam(struct SOMQfilter *fp, int paramtype, int value)
Add integer-valued parameter to the filter.
int SOMQselectorDelete(struct SOMQselector *fp)
Delete selector.
struct SOMQselector * SOMQselectorNew(void)
Create new selector object.
struct SOMQfilter * SOMQfilterNew(void)
Create new filter object.
int SOMQfilterDelete(struct SOMQfilter *fp)
Delete filter chain.
int SOMQselectorAddStrParam(struct SOMQselector *fp, int paramtype, const char *value, size_t length)
Add string-valued parameter to the selector.
struct SOMQfilter * SOMQfilterChain(struct SOMQfilter *fp, struct SOMQfilter *newp)
Add filter to chain.
int SOMQselectorAddIntParam(struct SOMQselector *fp, int paramtype, int value)
Add integer-valued parameter to the selector.
Switch Operation Management Interface: Queue Access Attributes.
Switch Operation Management Interface.
Opaque session data.

All rights reserved © 2002 - 2024 Isode Ltd.