$ set command clitest $ clitest   _File: foo.dat com_line = 'CLITEST FOO.DAT' job copies = 1 o_queue = sys$print o_name = GUESS WHO filespec = FOO.DAT o_confirm = NO o_headers = YES Heading: '%p' '' '%t %d' Tabs: 8 : Point Size = 10.000000 Margins: 3.000000 : 3.000000 : 36.000000 : 36.000000 : $ cliu t     $ clitest/noheaders/queue=sys$batch/job=3 foo.* com_line = 'CLITEST/NOHEADERS/QUEUE=SYS$BATCH/JOB=3 FOO.*' job copies = 3 o_queue = SYS$BATCH o_name = GUESS WHO filespec = FOO.* o_confirm = NO o_headers = NO Heading: '%p' '' '%t %d' Tabs: 8 : Point Size = 10.000000 Margins: 3.000000 : 3.000000 : 36.000000 : 36.000000 : $ $ clitest foo.dat/head=("","%f"), fee.dat/noheaders, fum.dat/tabs=(5,10,15) com_line = 'CLITEST FOO.DAT/HEAD=(,%f),FEE.DAT/NOHEADERS,FUM.DAT/TABS=(5,10,15)' job copies = 1 o_queue = sys$print o_name = GUESS WHO filespec = FOO.DAT o_confirm = NO o_headers = YES Heading: '' '%f' Tabs: 8 : Point Size = 10.000000 Margins: 3.000000 : 3.000000 : 36.000000 : 36.000000 : filespec = FEE.DAT o_confirm = NO o_headers = NO Heading: '%p' '' '%t %d' Tabs: 8 : Point Size = 10.000000 Margins: 3.000000 : 3.000000 : 36.000000 : 36.000000 : filespec = FUM.DAT o_confirm = NO o_headers = YES Heading: '%p' '' '%t %d' Tabs: 5 : 10 : 15 : Point Size = 10.000000 Margins: 3.000000 : 3.000000 : 36.000000 : 36.000000 : $ type clitst  est.cld define verb CLITEST image "dua1:[todd.cli]CLITEST.EXE" parameter P1, label=FILE, prompt="File", value(required, list, type=$FILE) qualifier JOB_COPIES, placement=GLOBAL, value(required, type=$NUMBER) qualifier QUEUE, placement=GLOBAL, value(required) qualifier NAME, placement=GLOBAL, default, value(default="GUESS WHO") qualifier CONFIRM, placement=POSITIONAL, negatable qualifier HEADING, placement=POSITIONAL, negatable, value(list) qualifier TABSETTINGS, placement=POSITIONAL, value(required, list, type=$NUMBER) qualifier POINTSIZE, placement=POSITIONAL, value(default=12.0) qualifier MARGINS, placement=POSITIONAL, value(required, list) $ type clitest.c #include stdio #include "cli_set.h" static char def_queue[] = "sys$print"; static int def_tabs[] = { 1, 8 }; static float def_margins[] = { 4.0, 3.0, 3.0, 36.0, 36.0 }; static char *def_head[] = { "%p", /* LEFT: Pathname */ "", /* CENTER: (nothing) */ "%t %d", /* RIGHT: Time Date */ NULL }; char *com_line; int o_jb_cnt; char *o_queue; char *o_name; char *filespec; int o_confirm; int o_headers; char **o_heading; int *o_tabsettings; float o_pointsize; float *o_margins; OPTION globtab[] = { "$LINE", $STRING, &com_line, "", "job_copies", $NUMBER, &o_jb_cnt, 1, "queue", $STRING, &o_queue, &def_queue, "name", $STRING, &o_name, "", "", 0, NULL, NULL }; OPTION optab[] = { "file", $STRING|$PARAM, &filespec, "", "confirm", $BOOLEAN, &o_confirm, FALSE, "heading", $BOOLEAN, &o_headers, TRUE, "heading", $STRING|$LIST, &o_heading, &def_head, "tabsettings", $NUMBER|$LIST, &o_tabsettings, &def_tabs, "pointsize", $FLOAT, &o_pointsize, 10.0, "margins", $FLOAT|$LIST, &o_margins, &def_margins, "", 0, NULL, NULL }; main() { int ret, x; cli_init( globtab ); cli_set( globtab ); printf("com_line = '%s'\n", com_line ); printf("job copies = %d\n", o_jb_cnt ); printf("o_queue = %s\n", o_queue ); printf("o_name = %s\n", o_name ); cli_init( optab ); while ( (ret = cli_set( optab )) != CLI$_ABSENT) { if( filespec ) printf("filespec = %s\n", filespec ); printf("o_confirm = %s\n", (o_confirm) ? "YES" : "NO" ); printf("o_headers = %s\n", (o_headers) ? "YES" : "NO" ); if( o_heading[0] ) { printf("Heading:\n" ); for( x = 0; o_heading[x] != NULL; ++x ) printf( "\t'%s'", o_heading[x]); printf("\n"); } printf( "Tabs:\n" ); for( x=1; x <= o_tabsettings[0]; ++x) printf("\t%d :", o_tabsettings[x] ); printf( "\n" ); printf( "Point Size = %f\n", o_pointsize ); printf( "Margins:\n" ); for( x=1; x <= o_margins[0]; ++x) printf("\t%f :", o_margins[x] ); printf( "\n" ); } } $ photo off %PHOTO-F-INUSE, You are already in a PHOTO session $ l log