diff options
author | chin <none@none> | 2007-08-17 12:01:52 -0700 |
---|---|---|
committer | chin <none@none> | 2007-08-17 12:01:52 -0700 |
commit | da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968 (patch) | |
tree | 5280d3b78e289fe9551371ab6e7f15ef9944ea14 /usr/src/lib/libpp/sparc | |
parent | 073dbf9103ef2a2b05d8a16e2d26db04e0374b0e (diff) | |
download | illumos-gate-da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968.tar.gz |
6437624 RFE: Add ksh93 (as /usr/bin/ksh93) and libshell.so to OS/Net
6505835 AST tools and library (libpp) required for creating l10n messages for ksh93
PSARC/2006/550 Korn Shell 93 Integration
PSARC/2006/587 /etc/ksh.kshrc for ksh93
PSARC/2007/035 ksh93 Amendments
Contributed by Roland Mainz <roland.mainz@nrubsig.org>
--HG--
rename : usr/src/lib/libcmd/common/mapfile-vers => deleted_files/usr/src/lib/libcmd/common/mapfile-vers
rename : usr/src/lib/libcmd/common/placeholder.c => deleted_files/usr/src/lib/libcmd/common/placeholder.c
Diffstat (limited to 'usr/src/lib/libpp/sparc')
-rw-r--r-- | usr/src/lib/libpp/sparc/Makefile | 30 | ||||
-rw-r--r-- | usr/src/lib/libpp/sparc/pp.req | 2 | ||||
-rw-r--r-- | usr/src/lib/libpp/sparc/pp.yacc | 1 | ||||
-rw-r--r-- | usr/src/lib/libpp/sparc/ppdebug.h | 211 | ||||
-rw-r--r-- | usr/src/lib/libpp/sparc/ppdef.h | 220 | ||||
-rw-r--r-- | usr/src/lib/libpp/sparc/pptab.h | 152 |
6 files changed, 616 insertions, 0 deletions
diff --git a/usr/src/lib/libpp/sparc/Makefile b/usr/src/lib/libpp/sparc/Makefile new file mode 100644 index 0000000000..f91f0270e9 --- /dev/null +++ b/usr/src/lib/libpp/sparc/Makefile @@ -0,0 +1,30 @@ +# +# CDDL HEADER START +# +# The contents of this file are subject to the terms of the +# Common Development and Distribution License (the "License"). +# You may not use this file except in compliance with the License. +# +# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE +# or http://www.opensolaris.org/os/licensing. +# See the License for the specific language governing permissions +# and limitations under the License. +# +# When distributing Covered Code, include this CDDL HEADER in each +# file and include the License file at usr/src/OPENSOLARIS.LICENSE. +# If applicable, add the following below this CDDL HEADER, with the +# fields enclosed by brackets "[]" replaced with your own identifying +# information: Portions Copyright [yyyy] [name of copyright owner] +# +# CDDL HEADER END +# +# +# Copyright 2007 Sun Microsystems, Inc. All rights reserved. +# Use is subject to license terms. +# +# ident "%Z%%M% %I% %E% SMI" +# + +include ../Makefile.com + +install: all $(ROOTLIBS) $(ROOTLINKS) $(ROOTLINT) diff --git a/usr/src/lib/libpp/sparc/pp.req b/usr/src/lib/libpp/sparc/pp.req new file mode 100644 index 0000000000..6c6437695b --- /dev/null +++ b/usr/src/lib/libpp/sparc/pp.req @@ -0,0 +1,2 @@ + -lpp + -last diff --git a/usr/src/lib/libpp/sparc/pp.yacc b/usr/src/lib/libpp/sparc/pp.yacc new file mode 100644 index 0000000000..1de9080a7a --- /dev/null +++ b/usr/src/lib/libpp/sparc/pp.yacc @@ -0,0 +1 @@ +%token /*generated from pp.h*/ T_DOUBLE 292 T_DOUBLE_L 293 T_FLOAT 294 T_DECIMAL 288 T_DECIMAL_L 289 T_DECIMAL_U 290 T_DECIMAL_UL 291 T_OCTAL 296 T_OCTAL_L 297 T_OCTAL_U 298 T_OCTAL_UL 299 T_HEXADECIMAL 304 T_HEXADECIMAL_L 305 T_HEXADECIMAL_U 306 T_HEXADECIMAL_UL 307 T_HEXDOUBLE 308 T_HEXDOUBLE_L 309 T_ID 257 T_INVALID 258 T_CHARCONST 260 T_WCHARCONST 261 T_STRING 262 T_WSTRING 263 T_PTRMEM 264 T_ADDADD 265 T_SUBSUB 266 T_LSHIFT 267 T_RSHIFT 268 T_LE 269 T_GE 270 T_EQ 271 T_NE 272 T_ANDAND 273 T_OROR 274 T_MPYEQ 275 T_DIVEQ 276 T_MODEQ 277 T_ADDEQ 278 T_SUBEQ 279 T_LSHIFTEQ 280 T_RSHIFTEQ 281 T_ANDEQ 282 T_XOREQ 283 T_OREQ 284 T_VARIADIC 286 T_DOTREF 320 T_PTRMEMREF 321 T_SCOPE 322 T_UMINUS 323 diff --git a/usr/src/lib/libpp/sparc/ppdebug.h b/usr/src/lib/libpp/sparc/ppdebug.h new file mode 100644 index 0000000000..9c9f29e795 --- /dev/null +++ b/usr/src/lib/libpp/sparc/ppdebug.h @@ -0,0 +1,211 @@ +/* +* preprocessor library debug maps +*/ +struct map +{ + char* nam; + long val; +}; +static struct map pplexmap[] = +{ + "PROTO", PROTO, + "RES1", RES1, + "RES1a", RES1a, + "RES1e", RES1e, + "RES1f", RES1f, + "RES1h", RES1h, + "RES1l", RES1l, + "RES1n", RES1n, + "RES1o", RES1o, + "RES1t", RES1t, + "RES1x", RES1x, + "RES1y", RES1y, + "COM1", COM1, + "COM2", COM2, + "COM3", COM3, + "COM4", COM4, + "COM5", COM5, + "COM6", COM6, + "COM7", COM7, + "NID", NID, + "LIT", LIT, + "LIT1", LIT1, + "LIT2", LIT2, + "BAD1", BAD1, + "BAD2", BAD2, + "DOT", DOT, + "DOT2", DOT2, + "WS1", WS1, + "QUICK", QUICK, + "QTOK", QTOK, + "QNUM", QNUM, + "QEXP", QEXP, + "QCOM", QCOM, + "QID", QID, + "MAC0", MAC0, + "MACN", MACN, + "HIT0", HIT0, + "HITN", HITN, + "LIT0", LIT0, + "SHARP1", SHARP1, + "TOKEN", TOKEN, + "OCT1", OCT1, + "OCT2", OCT2, + "OCT3", OCT3, + "NOT1", NOT1, + "PCT1", PCT1, + "AND1", AND1, + "STAR1", STAR1, + "PLUS1", PLUS1, + "MINUS1", MINUS1, + "ARROW1", ARROW1, + "COLON1", COLON1, + "LT1", LT1, + "LSH1", LSH1, + "EQ1", EQ1, + "RSH1", RSH1, + "GT1", GT1, + "CIRC1", CIRC1, + "OR1", OR1, + "DEC1", DEC1, + "DEC2", DEC2, + "HEX1", HEX1, + "HEX2", HEX2, + "HEX3", HEX3, + "HEX4", HEX4, + "HEX5", HEX5, + "HEX6", HEX6, + "HEX7", HEX7, + "HEX8", HEX8, + "DBL1", DBL1, + "DBL2", DBL2, + "DBL3", DBL3, + "DBL4", DBL4, + "DBL5", DBL5, + "DOT1", DOT1, + "HDR1", HDR1, + "BIN1", BIN1, + "TERMINAL", TERMINAL, + "S_CHRB", S_CHRB, + "S_COMMENT", S_COMMENT, + "S_EOB", S_EOB, + "S_LITBEG", S_LITBEG, + "S_LITEND", S_LITEND, + "S_LITESC", S_LITESC, + "S_MACRO", S_MACRO, + "S_NL", S_NL, + "S_QUAL", S_QUAL, + "S_SHARP", S_SHARP, + "S_VS", S_VS, + "S_CHR", S_CHR, + "S_HUH", S_HUH, + "S_TOK", S_TOK, + "S_TOKB", S_TOKB, + "S_WS", S_WS, + "S_RESERVED", S_RESERVED, +}; +static struct map ppstatemap[] = +{ + "ADD", ADD, + "COLLECTING", COLLECTING, + "COMPATIBILITY", COMPATIBILITY, + "COMPILE", COMPILE, + "CONDITIONAL", CONDITIONAL, + "DEFINITION", DEFINITION, + "DIRECTIVE", DIRECTIVE, + "DISABLE", DISABLE, + "EOF2NL", EOF2NL, + "ESCAPE", ESCAPE, + "FILEPOP", FILEPOP, + "HEADER", HEADER, + "HIDDEN", HIDDEN, + "JOINING", JOINING, + "NEWLINE", NEWLINE, + "NOEXPAND", NOEXPAND, + "NOSPACE", NOSPACE, + "NOTEXT", NOTEXT, + "NOVERTICAL", NOVERTICAL, + "PASSEOF", PASSEOF, + "PASSTHROUGH", PASSTHROUGH, + "QUOTE", QUOTE, + "SKIPCONTROL", SKIPCONTROL, + "SKIPMACRO", SKIPMACRO, + "SPACEOUT", SPACEOUT, + "SQUOTE", SQUOTE, + "STANDALONE", STANDALONE, + "STRICT", STRICT, + "STRIP", STRIP, + "SYNCLINE", SYNCLINE, + "TRANSITION", TRANSITION, + "WARN", WARN, +}; +static struct map ppmodemap[] = +{ + "ALLMULTIPLE", ALLMULTIPLE, + "BUILTIN", BUILTIN, + "CATLITERAL", CATLITERAL, + "DUMP", DUMP, + "EXPOSE", EXPOSE, + "EXTERNALIZE", EXTERNALIZE, + "FILEDEPS", FILEDEPS, + "GENDEPS", GENDEPS, + "HEADERDEPS", HEADERDEPS, + "HOSTED", HOSTED, + "HOSTEDTRANSITION", HOSTEDTRANSITION, + "INACTIVE", INACTIVE, + "INIT", INIT, + "LOADING", LOADING, + "MARKC", MARKC, + "MARKHOSTED", MARKHOSTED, + "MARKMACRO", MARKMACRO, + "PEDANTIC", PEDANTIC, + "READONLY", READONLY, + "RELAX", RELAX, +}; +static struct map ppoptionmap[] = +{ + "ELSEIF", ELSEIF, + "FINAL", FINAL, + "HEADEREXPAND", HEADEREXPAND, + "HEADEREXPANDALL", HEADEREXPANDALL, + "IGNORELINE", IGNORELINE, + "INITIAL", INITIAL, + "KEEPNOTEXT", KEEPNOTEXT, + "KEYARGS", KEYARGS, + "MODERN", MODERN, + "NATIVE", NATIVE, + "NOHASH", NOHASH, + "NOISE", NOISE, + "NOISEFILTER", NOISEFILTER, + "NOPROTO", NOPROTO, + "PLUSCOMMENT", PLUSCOMMENT, + "PLUSPLUS", PLUSPLUS, + "PLUSSPLICE", PLUSSPLICE, + "PRAGMAEXPAND", PRAGMAEXPAND, + "PREDEFINED", PREDEFINED, + "PREDEFINITIONS", PREDEFINITIONS, + "PREFIX", PREFIX, + "PRESERVE", PRESERVE, + "PROTOTYPED", PROTOTYPED, + "REGUARD", REGUARD, + "SPLICECAT", SPLICECAT, + "SPLICESPACE", SPLICESPACE, + "STRINGSPAN", STRINGSPAN, + "STRINGSPLIT", STRINGSPLIT, + "TRUNCATE", TRUNCATE, + "ZEOF", ZEOF, +}; +static struct map ppinmap[] = +{ + "BUFFER", IN_BUFFER, + "COPY", IN_COPY, + "EXPAND", IN_EXPAND, + "FILE", IN_FILE, + "INIT", IN_INIT, + "MACRO", IN_MACRO, + "MULTILINE", IN_MULTILINE, + "QUOTE", IN_QUOTE, + "RESCAN", IN_RESCAN, + "SQUOTE", IN_SQUOTE, + "STRING", IN_STRING, +}; diff --git a/usr/src/lib/libpp/sparc/ppdef.h b/usr/src/lib/libpp/sparc/ppdef.h new file mode 100644 index 0000000000..6cb3481f8b --- /dev/null +++ b/usr/src/lib/libpp/sparc/ppdef.h @@ -0,0 +1,220 @@ +/* + * + * Glenn Fowler + * AT&T Research + * + * @(#)pp.tab (AT&T Labs Research) 2006-05-09 + * + * C preprocessor tables and states + * + * + marks extensions to the standard + * + */ + +#define DEFINE 1 +#define ELIF 2 +#define ELSE 3 +#define ENDIF 4 +#define ENDMAC 5 +#define ERROR 6 +#define IF 7 +#define IFDEF 8 +#define IFNDEF 9 +#define INCLUDE 10 +#define LET 11 +#define LINE 12 +#define MACDEF 13 +#define PRAGMA 14 +#define RENAME 15 +#define UNDEF 16 +#define WARNING 17 + +#define X_ALLMULTIPLE 1 +#define X_ALLPOSSIBLE 2 +#define X_BUILTIN 3 +#define X_CATLITERAL 4 +#define X_CDIR 5 +#define X_CHECKPOINT 6 +#define X_CHOP 7 +#define X_COMPATIBILITY 8 +#define X_DEBUG 9 +#define X_ELSEIF 10 +#define X_EXTERNALIZE 11 +#define X_FINAL 12 +#define X_HIDE 13 +#define X_HEADEREXPAND 14 +#define X_HEADEREXPANDALL 15 +#define X_HOSTED 16 +#define X_HOSTEDTRANSITION 17 +#define X_HOSTDIR 18 +#define X_ID 19 +#define X_IGNORE 20 +#define X_INCLUDE 21 +#define X_INITIAL 22 +#define X_KEYARGS 23 +#define X_LINE 24 +#define X_LINEBASE 25 +#define X_LINEFILE 26 +#define X_LINEID 27 +#define X_LINETYPE 28 +#define X_MACREF 29 +#define X_MAP 30 +#define X_MAPINCLUDE 31 +#define X_MODERN 32 +#define X_MULTIPLE 33 +#define X_NATIVE 34 +#define X_NOTE 35 +#define X_OPSPACE 36 +#define X_PASSTHROUGH 37 +#define X_PEDANTIC 38 +#define X_PLUSCOMMENT 39 +#define X_PLUSPLUS 40 +#define X_PLUSSPLICE 41 +#define X_PRAGMAFLAGS 42 +#define X_PRAGMAEXPAND 43 +#define X_PREDEFINED 44 +#define X_PREFIX 45 +#define X_PRESERVE 46 +#define X_PROTO 47 +#define X_PROTOTYPED 48 +#define X_QUOTE 49 +#define X_READONLY 50 +#define X_REGUARD 51 +#define X_RESERVED 52 +#define X_SPACEOUT 53 +#define X_SPLICECAT 54 +#define X_SPLICESPACE 55 +#define X_STANDARD 56 +#define X_STATEMENT 57 +#define X_STRICT 58 +#define X_STRINGSPAN 59 +#define X_STRINGSPLIT 60 +#define X_SYSTEM_HEADER 61 +#define X_TEST 62 +#define X_TEXT 63 +#define X_TRANSITION 64 +#define X_TRUNCATE 65 +#define X_VENDOR 66 +#define X_VERSION 67 +#define X_WARN 68 +#define X_ZEOF 69 +#define X_last_option 69 + +#define X_DEFINED 70 +#define X_EXISTS 71 +#define X_INCLUDED 72 +#define X_MATCH 73 +#define X_NOTICED 74 +#define X_OPTION 75 +#define X_SIZEOF 76 +#define X_STRCMP 77 + +#define R_DEFINED 1 + +#define ADD (1<<0) +#define COLLECTING (1<<1) +#define COMPATIBILITY (1<<2) +#define COMPILE (1<<3) +#define CONDITIONAL (1<<4) +#define DEFINITION (1<<5) +#define DIRECTIVE (1<<6) +#define DISABLE (1<<7) +#define EOF2NL (1<<8) +#define ESCAPE (1<<9) +#define FILEPOP (1<<10) +#define HEADER (1<<11) +#define HIDDEN (1<<12) +#define JOINING (1<<13) +#define NEWLINE (1<<14) +#define NOEXPAND (1L<<15) +#define NOSPACE (1L<<16) +#define NOTEXT (1L<<17) +#define NOVERTICAL (1L<<18) +#define PASSEOF (1L<<19) +#define PASSTHROUGH (1L<<20) +#define QUOTE (1L<<21) +#define SKIPCONTROL (1L<<22) +#define SKIPMACRO (1L<<23) +#define SPACEOUT (1L<<24) +#define SQUOTE (1L<<25) +#define STANDALONE (1L<<26) +#define STRICT (1L<<27) +#define STRIP (1L<<28) +#define SYNCLINE (1L<<29) +#define TRANSITION (1L<<30) +#define WARN (1L<<31) + +#define ALLMULTIPLE (1<<0) +#define BUILTIN (1<<1) +#define CATLITERAL (1<<2) +#define DUMP (1<<3) +#define EXPOSE (1<<4) +#define EXTERNALIZE (1<<5) +#define FILEDEPS (1<<6) +#define GENDEPS (1<<7) +#define HEADERDEPS (1<<8) +#define HOSTED (1<<9) +#define HOSTEDTRANSITION (1<<10) +#define INACTIVE (1<<11) +#define INIT (1<<12) +#define LOADING (1<<13) +#define MARKC (1<<14) +#define MARKHOSTED (1L<<15) +#define MARKMACRO (1L<<16) +#define PEDANTIC (1L<<17) +#define READONLY (1L<<18) +#define RELAX (1L<<19) + +#define ALLPOSSIBLE (1<<0) +#define DEFINITIONS (1<<1) +#define ELSEIF (1<<2) +#define FINAL (1<<3) +#define HEADEREXPAND (1<<4) +#define HEADEREXPANDALL (1<<5) +#define IGNORELINE (1<<6) +#define INITIAL (1<<7) +#define KEEPNOTEXT (1<<8) +#define KEYARGS (1<<9) +#define MODERN (1<<10) +#define NATIVE (1<<11) +#define NOHASH (1<<12) +#define NOISE (1<<13) +#define NOISEFILTER (1<<14) +#define NOPROTO (1L<<15) +#define PLUSCOMMENT (1L<<16) +#define PLUSPLUS (1L<<17) +#define PLUSSPLICE (1L<<18) +#define PRAGMAEXPAND (1L<<19) +#define PREDEFINED (1L<<20) +#define PREDEFINITIONS (1L<<21) +#define PREFIX (1L<<22) +#define PRESERVE (1L<<23) +#define PROTOTYPED (1L<<24) +#define REGUARD (1L<<25) +#define SPLICECAT (1L<<26) +#define SPLICESPACE (1L<<27) +#define STRINGSPAN (1L<<28) +#define STRINGSPLIT (1L<<29) +#define TRUNCATE (1L<<30) +#define ZEOF (1L<<31) + +#define V__PRAGMA 78 +#define V_ARGC 79 +#define V_BASE 80 +#define V_DATE 81 +#define V_FILE 82 +#define V_FUNCTION 83 +#define V_LINE 84 +#define V_PATH 85 +#define V_SOURCE 86 +#define V_STDC 87 +#define V_TIME 88 +#define V_VERSION 89 +#define V_DEFAULT 90 +#define V_DIRECTIVE 91 +#define V_EMPTY 92 +#define V_GETENV 93 +#define V_GETMAC 94 +#define V_GETOPT 95 +#define V_GETPRD 96 +#define V_ITERATE 97 diff --git a/usr/src/lib/libpp/sparc/pptab.h b/usr/src/lib/libpp/sparc/pptab.h new file mode 100644 index 0000000000..d153e8e65c --- /dev/null +++ b/usr/src/lib/libpp/sparc/pptab.h @@ -0,0 +1,152 @@ +/* + * + * Glenn Fowler + * AT&T Research + * + * @(#)pp.tab (AT&T Labs Research) 2006-05-09 + * + * C preprocessor tables and states + * + * + marks extensions to the standard + * + */ + +static struct ppkeyword directives[] = +{ + "define", DEFINE, + "elif", ELIF, + "else", ELSE, + "endif", ENDIF, + "+endmac", ENDMAC, + "error", ERROR, + "if", IF, + "ifdef", IFDEF, + "ifndef", IFNDEF, + "include", INCLUDE, + "+let", LET, + "line", LINE, + "+macdef", MACDEF, + "pragma", PRAGMA, + "+rename", RENAME, + "undef", UNDEF, + "+warning", WARNING, + 0, 0 +}; + +static struct ppkeyword options[] = +{ + "allmultiple", X_ALLMULTIPLE, + "allpossible", X_ALLPOSSIBLE, + "builtin", X_BUILTIN, + "catliteral", X_CATLITERAL, + "cdir", X_CDIR, + "checkpoint", X_CHECKPOINT, + "chop", X_CHOP, + "compatibility", X_COMPATIBILITY, + "debug", X_DEBUG, + "elseif", X_ELSEIF, + "externalize", X_EXTERNALIZE, + "final", X_FINAL, + "hide", X_HIDE, + "headerexpand", X_HEADEREXPAND, + "headerexpandall", X_HEADEREXPANDALL, + "hosted", X_HOSTED, + "hostedtransition", X_HOSTEDTRANSITION, + "hostdir", X_HOSTDIR, + "id", X_ID, + "ignore", X_IGNORE, + "include", X_INCLUDE, + "initial", X_INITIAL, + "keyargs", X_KEYARGS, + "line", X_LINE, + "linebase", X_LINEBASE, + "linefile", X_LINEFILE, + "lineid", X_LINEID, + "linetype", X_LINETYPE, + "macref", X_MACREF, + "map", X_MAP, + "mapinclude", X_MAPINCLUDE, + "modern", X_MODERN, + "multiple", X_MULTIPLE, + "native", X_NATIVE, + "note", X_NOTE, + "opspace", X_OPSPACE, + "passthrough", X_PASSTHROUGH, + "pedantic", X_PEDANTIC, + "pluscomment", X_PLUSCOMMENT, + "plusplus", X_PLUSPLUS, + "plussplice", X_PLUSSPLICE, + "pragmaflags", X_PRAGMAFLAGS, + "pragmaexpand", X_PRAGMAEXPAND, + "predefined", X_PREDEFINED, + "prefix", X_PREFIX, + "preserve", X_PRESERVE, + "proto", X_PROTO, + "prototyped", X_PROTOTYPED, + "quote", X_QUOTE, + "readonly", X_READONLY, + "reguard", X_REGUARD, + "reserved", X_RESERVED, + "spaceout", X_SPACEOUT, + "splicecat", X_SPLICECAT, + "splicespace", X_SPLICESPACE, + "standard", X_STANDARD, + "statement", X_STATEMENT, + "strict", X_STRICT, + "stringspan", X_STRINGSPAN, + "stringsplit", X_STRINGSPLIT, + "system_header", X_SYSTEM_HEADER, + "test", X_TEST, + "text", X_TEXT, + "transition", X_TRANSITION, + "truncate", X_TRUNCATE, + "vendor", X_VENDOR, + "version", X_VERSION, + "warn", X_WARN, + "zeof", X_ZEOF, + 0, 0 +}; + +static struct ppkeyword predicates[] = +{ + "defined", X_DEFINED, + "+exists", X_EXISTS, + "+included", X_INCLUDED, + "+match", X_MATCH, + "+noticed", X_NOTICED, + "+option", X_OPTION, + "sizeof", X_SIZEOF, + "+strcmp", X_STRCMP, + 0, 0 +}; + +static struct ppkeyword readonlys[] = +{ + "defined", R_DEFINED, + 0, 0 +}; + +static struct ppkeyword variables[] = +{ + "_Pragma", V__PRAGMA, + "+ARGC", V_ARGC, + "+BASE", V_BASE, + "DATE", V_DATE, + "FILE", V_FILE, + "+FUNCTION", V_FUNCTION, + "LINE", V_LINE, + "+PATH", V_PATH, + "+SOURCE", V_SOURCE, + "-STDC", V_STDC, + "TIME", V_TIME, + "+VERSION", V_VERSION, + "-default", V_DEFAULT, + "-directive", V_DIRECTIVE, + "-empty", V_EMPTY, + "-getenv", V_GETENV, + "-getmac", V_GETMAC, + "-getopt", V_GETOPT, + "-getprd", V_GETPRD, + "-iterate", V_ITERATE, + 0, 0 +}; |