[0001]
[0002]
[0003]
[0004]
[0005]
[0006]
[0007]
[0008]
[0009]
[0010]
[0011]
[0012]
[0013]
[0014]
[0015]
[0016]
[0017]
[0018]
[0019]
[0020]
[0021]
[0022]
[0023]
[0024]
[0025]
[0026]
[0027]
[0028]
[0029]
[0030]
[0031]
[0032]
[0033]
[0034]
[0035]
[0036]
[0037]
[0038]
[0039]
[0040]
[0041]
[0042]
[0043]
[0044]
[0045]
[0046]
[0047]
[0048]
[0049]
[0050]
[0051]
[0052]
[0053]
[0054]
[0055]
[0056]
[0057]
[0058]
[0059]
[0060]
[0061]
[0062]
[0063]
[0064]
[0065]
[0066]
[0067]
[0068]
[0069]
[0070]
[0071]
[0072]
[0073]
[0074]
[0075]
[0076]
[0077]
[0078]
[0079]
[0080]
•IPCTICKLER•V1.0 4-NOV-2021 10:10SOFTWAREID$READONLY$SOFTWAREIDGøÿb§••áG•àGpþ¦ •òG••ECC$STRCMP•ÿG••DECC$FPUTSDECC$FPUTSDECC$FPUTSDECC$FPUTSDECC$FPUTSDECC$FPUTS••ÿG•
<HTML>
<HEAD>
<TITLE>%s</TITLE>
</HEAD>
<BODY>
<FORM ACTION="%s" METHOD="GET">
<TABLE CELLPADDING="5" CELLSPACING="2" BORDER="0">
<TR><TH COLSPAN="4"><U>CGI Script IPC Tickler</U></TH></TR>
<TR><TD></TD></TR>
<TR><TH ALIGN="right">mailbox MRS:&nbsp;</TH><TD ALIGN="left">%d</TD></TR>
<TR><TH ALIGN="right">record size:&nbsp;</TH><TD ALIGN="left"><INPUT TYPE="text" NAME="size" VALUE="0" SIZE="5"></TD></TR>
<TR><TH ALIGN="right">total chars:&nbsp;</TH><TD ALIGN="left"><INPUT TYPE="text" NAME="chars" VALUE="%d" SIZE="7"></TD></TR>
<TR><TH ALIGN="right">fopen() ctx=&nbsp;</TH><TD ALIGN="left"><INPUT TYPE="radio" NAME="ctx" VALUE="rec" CHECKED>rec</TD><TD ALIGN="left"><INPUT TYPE="radio" NAME="ctx" VALUE="bin">bin</TD></TR>
<TR><TD COLSPAN="2"></TD><TD><INPUT TYPE="checkbox" NAME="xplct" VALUE="yep">xplct</TD></TR>
<TR><TH ALIGN="right">function:&nbsp;</TH><TD ALIGN="left"><INPUT TYPE="radio" NAME="func" VALUE="fputs" CHECKED>fputs()</TD><TD ALIGN="left"><INPUT TYPE="radio" NAME="func" VALUE="fwrite_n1">fwrite(n,1)</TD><TD ALIGN="left"><INPUT TYPE="radio" NAME="func" VALUE="fwrite_1n">fwrite(1,n)</TD></TR>
<TR><TH ALIGN="right" VALIGN="top" ROWSPAN="2">script-control:&nbsp;</TH><TD ALIGN="left"><INPUT TYPE="radio" NAME="mode" VALUE="x-record-mode">X-record-mode</TD><TD ALIGN="left"><INPUT TYPE="radio" NAME="mode" VALUE="x-stream-mode">X-stream-mode</TD><TD ALIGN="left"><INPUT TYPE="radio" NAME="mode" VALUE="" CHECKED>(none)</TD></TR>
<TR><TD></TD><TD><INPUT TYPE="checkbox" NAME="buffer" VALUE="x-buffer-records">X-buffer-records</TD></TR>
<TR><TH ALIGN="right">content-type:</TH><TD ALIGN="left"><INPUT TYPE="radio" NAME="ctype" VALUE="text/plain" CHECKED>text/plain</TD><TD ALIGN="left" COLSPAN="2"><INPUT TYPE="radio" NAME="ctype" VALUE="application/octet-stream">application/octet-stream</TD></TR>
<TR><TD></TD></TR>
<TR><TD ALIGN="center" COLSPAN="4"><INPUT TYPE="submit" VALUE="tickle">&nbsp;&nbsp;&nbsp;<INPUT TYPE="reset" VALUE="reset"></TD></TR>
</TABLE>
<TABLE CELLPADDING="20" CELLSPACING="0" BORDER="0">
<TR><TD>
The CGI script Inter-Process Communication (IPC) tickler is designed to allow a script programmer to gain an appreciation of the way WASD interacts with VMS' record-oriented Input/Output (I/O) design, how the C Language Run-Time Library interprets U**x I/O conventions into this, how WASD attempts to accomodate both, how the mechanisms a script can use to explicitly convey exact requirements to WASD ... and finally, how these affect output (in particular the carriage-control) delivered to the client.
<P>Check the WASD <A HREF="/wasd_root/doc/scripting/">Scripting</A> document for information on the handling of <A HREF="/wasd_root/doc/scripting/scripting_0200.html">Script Output</A> in relation to &quot;text/..&quot; and non-&quot;text/..&quot; content-type.
Use this utility to manipulate the record size (number of characters between newlines) and total characters output against stream mode and C-RTL output function, to observe how (implied) carriage-control is provided to the client.
WASD CGI response fields can be added to manipulate the desired programming requirement and outcome.
<P>Use the <A HREF="/wasd_root/doc/features/features_0900.html">WATCH facility</A> with <I>CGI</I>, <I>DCL</I> and <I>Network Activity/Data</I> items to directly observe the octets provided by the script and subsequently provided to the client.
</TD></TR>
</TABLE>
</BODY>
</HTML>
OUTPUT: %d chars
record size: %d
total chars: %d
fopen(%s%s%s)
%s%s%s
%s%sScript-Control: X-content-encoding-gzip=0
Script-Control: X-transfer-encoding-chunked=0
%s%s
DECC$FPUTSDECC$FPUTS