Home · Articles · Downloads · Hobby Wear · Forums · Web Links · News CategoriesSunday, July 22, 2018
Navigation
Home
Articles
Downloads
Hobby Wear
FAQ
Forums
Web Links
News Categories
Contact Us
Photo Gallery
OpenVMS Bigot
Search
Users Online
Guests Online: 9
No Members Online

Registered Members: 7,168
Newest Member: davej
PdfFactory Pro Enterprise 2.31, MATFOR 4.00.061031 in Lahey Fortran, Adobe PhotoShop 9.0 CS2 oem, Trend Micro InterScan VirusWall 6.0, Adobe Acrobat 7.0 Professional sale, Salon Iris 5.05, Drafix Pro Landscape 11.2, oem Adobe PhotoShop CS 8.0 cheap buy, Catia 5 R12 P3 with SP2, Mcafee Secure Internet Gateway 4.5, oem Adobe Acrobat Professional 8 oem, Visual UML 4.1 Developer Edition, sale Adobe CS3 Design Premium Vol for Mac low price, Nuance Dragon Naturally Speaking 9.0 Professional With SP1, Adobe After Effects Plugins, low price AutoCAD 2006 cheap buy, Avid NewsCutter XP 3.8, The Movie Library 1.7.11, oem Adobe Creative Suite Premium Edition 2.0, ProFlyers 6.0 PDF Forms for Adobe Acrobat, PTC Pro Engineer Routed Systems Designer 5.0, sale DVDXCopy Platinum 4.0.38, CyberBizPlan v1.0.165 WinAll, NeverCenter Silo 1.16b, cheap buy AutoCAD 2005, Norton Save And Restore 11, sale Adobe Creative Suite 3 Design Premium sale, Adobe Premiere Plugins Collection 2007, cheap buy Adobe Creative Suite Premium Edition 2.0 for Mac sale, Active Desktop Calendar 6.5.061124, sale Adobe Acrobat 6.0 Professional, X-Rite MonacoPROFILER Platinum 4.8, EmailUnlimited 6.1 Win98NTME, oem Adobe Photoshop CS3 Extended sale
Sponsors
Island Computer
View Thread
OpenVMS Hobbyist Program | Hobbyists and OpenVMS | How I Use OpenVMS
Author Usage of SYS$FAO
akm
Member

Posts: 3
Joined: 22.06.09
Posted on June 22 2009 23:11
Hi,

I am new to OpenVMS and am trying to use SYS$FAO for formatting the output, but the function does not return any data in the out buffer and always return 3 in the output length field.

Any help or pointers will be highly appreciated. Please find my below my c code.

#include <lib$routines.h> //code added // for lib$signal
#include <starlet.h> //code added // for RMS function prototypes
#include <stdio.h> //code added // for printf, gets, etc.
#include <string.h> //code added // for strlen
#include <stdlib.h> //code added // for memset
#include <ssdef.h>
#include <devdef.h>
#include <rms.h>
#include <descrip.h>
#include <stsdef.h>
#include <starlet.h>

int main()
{
int status; /* Status of system calls */
int outlen=0; /* Length of output string from $FAO */
//char out_buffer[80]; /* Buffer for $FAO output */
char* out_buffer; /* Buffer for $FAO output */
$DESCRIPTOR(out_desc, out_buffer); /* Descriptor for out_buffer */
$DESCRIPTOR(jones, "Jones");
$DESCRIPTOR(harris, "Harris");
$DESCRIPTOR(wilson, "Wilson");
$DESCRIPTOR(fao_desc, "Unable to locate !3(8AS)!!");
out_buffer = (char*)malloc(sizeof(char)*800);
printf("defined all variables");
status = sys$fao(&fao_desc, /* Control string for $FAO */
&outlen, /* Pointer for length of output string */
&out_desc, /* Descriptor for output buffer */
&jones, /* P1 - ASCII string descriptor */
&harris, /* P2 - ASCII string descriptor */
&wilson); /* P3 - ASCII string descriptor */
printf("sys$fao call is done\n");
/* Immediately signal (and quit) if error occurred */
if ((status & STS$M_SUCCESS) == 0) lib$signal(status);
printf("checked the status returned from sys$fao\n");
printf("Returned Length is %d\n",outlen);
/* FAO directive succeeded, output resultant string */
out_buffer[outlen] = '\0'; /* add string terminator to buffer */
printf("terminated the string \n");
//puts(out_buffer); /* output the result */
printf("out buffer is %s\n",out_buffer);
printf("printed the output on console\n");
free(out_buffer);
return 0;
}
Author RE: Usage of SYS$FAO
martinv2
Member

User Avatar

Posts: 102
Location: Goslar, Germany
Joined: 02.10.07
Posted on June 27 2009 16:26
//char out_buffer[80]; /* Buffer for $FAO output */
char* out_buffer; /* Buffer for $FAO output */
$DESCRIPTOR(out_desc, out_buffer); /* Descriptor for out_buffer */
...
out_buffer = (char*)malloc(sizeof(char)*800);




The $DESCRIPTOR macro uses the sizeof() function to fill in the dsc$w_length field, and so is unsuitable for use with char*. If you used the char[] definition of out_buffer, it would have worked.

Alternatively, reset the field like
out_desc.dsc$w_length = 800-1;




HTH,
Martin


http://vms.pdv-systeme.de/users/martinv/
http://vms.pdv-systeme.de/users/martinv/
Author RE: Usage of SYS$FAO
akm
Member

Posts: 3
Joined: 22.06.09
Posted on June 29 2009 03:21
Hi All,

thanks for the help.
Jump to Forum:
Login
Username

Password



Not a member yet?
Click here to register.

Forgotten your password?
Request a new one here.
Member Poll
Are you going to OpenVMS Boot Camp 2016?

Yes

No

You must login to vote.
Shoutbox
You must login to post a message.

malmberg
June 26 2018
https://www.openvmshobbyi
st.com/forum/viewthread.p
hp?forum_id=10&thread_id=
2363


bhamakripa
June 24 2018
I am trying OpenVMS via SIMH. Need to get OS binaries for v7.3. Registered here but don't have any membership number yet which is needed to get license. Pls suggest what to do. I hardly know anyth

basilh
June 05 2018
Any other forum members in Perth, Australia?

LouF91
April 05 2018
ah maybe they love that!

malmberg
March 24 2018
Probably. More people hang out on the comp.os.vms newsgroup.

vaxpert
March 23 2018
I have a PE42A and other Alpha system stuff for sale. I'm in So California. Any interest out there?

goodbyespy
February 27 2018
To Prohorenko. Please, visit group OpenVMS in the ok.ru

peteherrera
February 24 2018
How much does it cost to buy a complete OpenVMS hardcopy documentation set of the latest version

prohorenko
February 17 2018
Please help to obtain the license on OpenVMS

malmberg
December 12 2017
HPE only makes the most current version of OpenVMS Alpha / IA64 /VAX available to hobbyists. When I had access to the Alliance 1 program it was the same. No public downloads are allowed by HPE.

nmbonao
December 08 2017
Is anybody knows OpenVMS 8.2 version downloadable version? or CD copy? Thank you very much

aarommes
December 02 2017
Bitcoin and Blockchain enthusiasts ( plus distributed computing ) please connec / reply: http://www.openvmshobbyis
t.com/forum/viewthread.ph
p?forum_id=130&thread_id=
2991


malmberg
September 10 2017
https://sourceforge.net/p
/vms-ports/wiki/VMSInstal
lation/ For the most part just use VMS 6.1 media instead of 7.3. But why run the older release?


DoeveR
August 07 2017
Where can I find the write up on running VMS 6.1 using the simh emulator?

Bart
March 20 2017
Happy to have found my password again!

Shoutbox Archive