$CONTROL SEGMENT=CMC'EXAMPLE,NATIVE,SYMLEN=31 << WARNING: The default SYMLEN is 15, and that will cut off >> << the name of cmc_send_documents. >> BEGIN << STORAGE >> BYTE ARRAY addresses(0:127), text(0:127), subject(0:80), titles(0:127), files(0:127), delimiters(0:1), buff(0:127); VIRTUAL BYTE POINTER n'file, n'title; DOUBLE flags, ui'id, rc; INTEGER len; INTRINSIC PRINT, DASCII; << EXTERNALS >> DOUBLE PROCEDURE cmc'send'documents(addr, sub, txt, flgs, fils, titls, dels, ui); VALUE flgs, ui; BYTE ARRAY addr, sub, txt, fils, titls, dels; DOUBLE flgs, ui; OPTION EXTERNAL,NATIVE; << MAIN CODE >> main'code: << Addresses are assumed to be "TO:", this example uses one TO >> << and one CC. BCC is also available. Addresses are separated >> << by commas, so A@B.C,B@B.C,CC:C@B.C,BCC:D@B.C,E@B.C would >> << end up with A and B on the TO line, C on the CC line, with >> << D and E getting blind carbons. Be sure to NULL terminate. >> MOVE addresses:=("RCB@3K.COM,CC:TFK@3K.COM", 0); << IF YOU HAVE NO TEXT, PASS A NULL POINTER INSTEAD >> MOVE text:=("I am sending you a document.", 0); << THE SUBJECT OF THE MESSAGE >> MOVE subject:=("SPAM-O-RAMA!", 0); << IF YOU HAVE NO ATTACHMENTS, PASS A NULL STRING >> << OTHERWISE, SEPARATE THEM BY COMMAS... >> titles:=files:=0; << MOVE titles:=("First attachment,Second attachment", 0); MOVE files:=("SPAM1.USGTFK.DEV3K,SPAM2.USGTFK.DEV3K", 0); >> << MY DELIMITER IS A COMMA >> MOVE delimiters:=(",",0); << NO SPECIAL FLAGS, NO UID >> flags:=0D; ui'id:=0D; rc:=cmc'send'documents(addresses, subject, text, flags, files, titles, delimiters, ui'id); << ALTERNATIVE WAY OF PASSING NULLS: A NULL POINTER >> << @n'file:=0D; @n'title:=0D; rc:=cmc'send'documents(addresses, subject, text, flags, n'file, n'title, delimiters, ui'id); >> << PRINT OUT THE RESULT >> len:=MOVE buff:="SEND_DOC = "; len:=len + DASCII(rc, 10, buff(len)); PRINT(buff, -len, 0); END.