getopt.h
上传用户:sy_wanhua
上传日期:2013-07-25
资源大小:3048k
文件大小:3k
源码类别:

流媒体/Mpeg4/MP4

开发平台:

C/C++

  1. /* $NetBSD: getopt.h,v 1.4 2000/07/07 10:43:54 ad Exp $ */
  2. /*-
  3.  * Copyright (c) 2000 The NetBSD Foundation, Inc.
  4.  * All rights reserved.
  5.  *
  6.  * This code is derived from software contributed to The NetBSD Foundation
  7.  * by Dieter Baron and Thomas Klausner.
  8.  *
  9.  * Redistribution and use in source and binary forms, with or without
  10.  * modification, are permitted provided that the following conditions
  11.  * are met:
  12.  * 1. Redistributions of source code must retain the above copyright
  13.  *    notice, this list of conditions and the following disclaimer.
  14.  * 2. Redistributions in binary form must reproduce the above copyright
  15.  *    notice, this list of conditions and the following disclaimer in the
  16.  *    documentation and/or other materials provided with the distribution.
  17.  * 3. All advertising materials mentioning features or use of this software
  18.  *    must display the following acknowledgement:
  19.  *        This product includes software developed by the NetBSD
  20.  *        Foundation, Inc. and its contributors.
  21.  * 4. Neither the name of The NetBSD Foundation nor the names of its
  22.  *    contributors may be used to endorse or promote products derived
  23.  *    from this software without specific prior written permission.
  24.  *
  25.  * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
  26.  * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
  27.  * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
  28.  * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
  29.  * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
  30.  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
  31.  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
  32.  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
  33.  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
  34.  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
  35.  * POSSIBILITY OF SUCH DAMAGE.
  36.  */
  37. #ifndef _GETOPT_H_
  38. #define _GETOPT_H_
  39. #include "libcext_bsd.h"
  40. #ifdef BSD
  41. #include <sys/cdefs.h>
  42. #endif
  43. #include <unistd.h>
  44. /*
  45.  * Gnu like getopt_long() and BSD4.4 getsubopt()/optreset extensions
  46.  */
  47. /* #if !defined(_POSIX_SOURCE) && !defined(_XOPEN_SOURCE) */
  48. #define no_argument        0
  49. #define required_argument  1
  50. #define optional_argument  2
  51. struct option {
  52. /* name of long option */
  53. const char *name;
  54. /*
  55.  * one of no_argument, required_argument, and optional_argument:
  56.  * whether option takes an argument
  57.  */
  58. int has_arg;
  59. /* if not NULL, set *flag to val when option found */
  60. int *flag;
  61. /* if flag not NULL, value to set *flag to; else return value */
  62. int val;
  63. };
  64. __BEGIN_DECLS
  65. int getopt_long __P((int, char * const *, const char *,
  66.     const struct option *, int *));
  67. __END_DECLS
  68. /* #endif */
  69.  
  70. #endif /* !_GETOPT_H_ */