/* * Copyright (c) 1983 Regents of the University of California. * All rights reserved. * * Redistribution and use in source and binary forms are permitted * provided that the above copyright notice and this paragraph are * duplicated in all such forms and that any documentation, * advertising materials, and other materials related to such * distribution and use acknowledge that the software was developed * by the University of California, Berkeley. The name of the * University may not be used to endorse or promote products derived * from this software without specific prior written permission. * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. * * @(#)lcmd.h 3.7 (Berkeley) 06/29/88 */ #define LCMD_NARG 20 /* maximum number of arguments */ struct lcmd_tab { char *lc_name; int lc_minlen; int (*lc_func)(); struct lcmd_arg *lc_arg; }; struct lcmd_arg { char *arg_name; int arg_minlen; int arg_flags; }; /* arg_flags bits */ #define ARG_TYPE 0x0f /* type of arg */ #define ARG_ANY 0x00 /* any type */ #define ARG_NUM 0x01 /* must be a number */ #define ARG_STR 0x02 /* must be a string */ #define ARG_LIST 0x10 /* this arg can be a list */ struct lcmd_tab *lcmd_lookup();