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


Manual Reference Pages  -  JAM_ADDMESSAGE (3)

NAME

JAM_AddMessage - Add a message to message base

CONTENTS

Synopsis
Description
     Arguments
Examples
Author
See Also

SYNOPSIS


#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);

DESCRIPTION

Adds a message to the message base. Fully automatic.

    Arguments

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.

RETURN VALUE

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

EXAMPLES

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);

AUTHOR

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>.

SEE ALSO

jamlib(3), JAM_AddEmptyMessage(3), JAM_DeleteMessage(3), JAM_DelSubPacket(3), JAM_NewSubPacket(3), JAM_PutSubfield(3), JAM_LockMB(3), JAM_Errno(3)
Search for    or go to Top of page |  Section 3 |  Main Index


JAM_ADDMESSAGE (3) 2002-11-07

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