GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages
JAM_AddMessage(3) JAM subroutine library JAM_AddMessage(3)

JAM_AddMessage - Add a message to message base

#include <jamlib/jam.h>
int JAM_AddMessage(s_JamBase*      Base_PS,
                   s_JamMsgHeader* Header_PS,
                   s_JamSubPacket* SubPack_PS,
                   uchar*          Text_PC,
                   ulong           TextLen_I);

Adds a message to the message base. Fully automatic.

Base_PS
The message base to use
Header_PS
A pointer to the message header struct. The function will set the following header fields: Signature, Revision, TxtOffset, TxtLen, SubfieldLen and MsgNum. Whatever you set these fields to will be overwritten.
SubPack_PS
A subfield packet handler, containing all subfields for the message.
Text_PC
A pointer to the first byte of the message text.
TextLen_I
The length of the message text, excluding any zero termination characters.

0
if successful
JAM_IO_ERROR
if an I/O error occured. See JAM_Errno(3)
JAM_NOT_LOCKED
if the message base is not locked

s_JamSubPacket*   SubPacket_PS;
s_JamSubfield     Subfield_S;
s_JamMsgHeader    Header_S;
uchar             Text_AC[64];
uchar             Field_AC[64];
/*
**  Fix message header
*/
JAM_ClearMsgHeader(&Header_S);
Header_S.DateWritten = time(NULL);
/*
**  Create subfield packet
*/
SubPacket_PS = JAM_NewSubPacket();
if (!SubPacket_PS) {
    printf("JAM_NewSubPacket returned NULL.\n");
    return;
}
/* set up subfield 1 */
strcpy(Field_AC, "This is field #1");
Subfield_S.LoID   = JAMSFLD_SENDERNAME;
Subfield_S.HiID   = 0;
Subfield_S.DatLen = strlen(Field_AC);
Subfield_S.Buffer = Field_AC;
JAM_PutSubfield(SubPacket_PS, &Subfield_S);
/* set up subfield 2 */
strcpy(Field_AC, "This is field #2");
Subfield_S.LoID   = JAMSFLD_RECVRNAME;
Subfield_S.HiID   = 0;
Subfield_S.DatLen = strlen(Field_AC);
Subfield_S.Buffer = Field_AC;
JAM_PutSubfield(SubPacket_PS, &Subfield_S);
/*
**  Add message
*/
strcpy(Text_AC, "Hello world!\rThis is a test.");
/* [lock the message base] */
Result_I = JAM_AddMessage(Base_PS, &Header_S, SubPacket_PS,
                           Text_AC, strlen(Text_AC));
if (Result_I) {
  printf("JAM_AddMessage returned %d.\n", Result_I);
  return;
}
/* [unlock the message base] */
JAM_DelSubPacket(SubPacket_PS);

This manual page was created by Sir Raorn <raorn@altlinux.ru>, based on original JAMlib documentation by Bjorn Stenberg <bjorn@haxx.nu> and Johan Billing <billing@df.lth.se>.

jamlib(3), JAM_AddEmptyMessage(3), JAM_DeleteMessage(3), JAM_DelSubPacket(3), JAM_NewSubPacket(3), JAM_PutSubfield(3), JAM_LockMB(3), JAM_Errno(3)
2002-11-07

Search for    or go to Top of page |  Section 3 |  Main Index

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with ManDoc.