Print this page
    
14019 Allow more control over zone init exit actions
Portions contributed by: Joshua M. Clulow <jmc@joyent.com>
Portions contributed by: Andy Fiddaman <andy@omnios.org>
Reviewed by: C Fraire <cfraire@me.com>
Reviewed by: Gordon Ross <Gordon.W.Ross@gmail.com>
Approved by: Robert Mustacchi <rm@fingolfin.org>
    
      
        | Split | 
	Close | 
      
      | Expand all | 
      | Collapse all | 
    
    
          --- old/usr/src/lib/libbrand/common/libbrand.h
          +++ new/usr/src/lib/libbrand/common/libbrand.h
   1    1  /*
   2    2   * CDDL HEADER START
   3    3   *
   4    4   * The contents of this file are subject to the terms of the
   5    5   * Common Development and Distribution License (the "License").
   6    6   * You may not use this file except in compliance with the License.
   7    7   *
   8    8   * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
   9    9   * or http://www.opensolaris.org/os/licensing.
  10   10   * See the License for the specific language governing permissions
  11   11   * and limitations under the License.
  12   12   *
  13   13   * When distributing Covered Code, include this CDDL HEADER in each
  14   14   * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
  15   15   * If applicable, add the following below this CDDL HEADER, with the
  16   16   * fields enclosed by brackets "[]" replaced with your own identifying
  17   17   * information: Portions Copyright [yyyy] [name of copyright owner]
  18   18   *
  19   19   * CDDL HEADER END
  20   20   */
  21   21  
  22   22  /*
  23   23   * Copyright (c) 2006, 2010, Oracle and/or its affiliates. All rights reserved.
  24   24   * Copyright (c) 2015, Joyent, Inc.
  25   25   * Copyright 2014 Nexenta Systems, Inc. All rights reserved.
  26   26   */
  27   27  
  28   28  #ifndef _LIBBRAND_H
  29   29  #define _LIBBRAND_H
  30   30  
  31   31  #ifdef  __cplusplus
  32   32  extern "C" {
  33   33  #endif
  34   34  
  35   35  #include <sys/types.h>
  36   36  
  37   37  typedef struct __brand_handle *brand_handle_t;
  38   38  
  39   39  typedef struct priv_iter_s {
  40   40          char    *pi_name;
  41   41          char    *pi_set;
  42   42          char    *pi_iptype;
  43   43  } priv_iter_t;
  44   44  
  45   45  extern brand_handle_t brand_open(const char *);
  46   46  extern void brand_close(brand_handle_t);
  47   47  
  48   48  extern boolean_t brand_allow_exclusive_ip(brand_handle_t);
  49   49  
  50   50  extern int brand_get_attach(brand_handle_t, const char *, const char *,
  51   51      char *, size_t);
  52   52  extern int brand_get_boot(brand_handle_t, const char *, const char *,
  53   53      char *, size_t);
  54   54  extern int brand_get_brandname(brand_handle_t, char *, size_t);
  
    | 
      ↓ open down ↓ | 
    54 lines elided | 
    
      ↑ open up ↑ | 
  
  55   55  extern int brand_get_clone(brand_handle_t, const char *, const char *,
  56   56      char *, size_t);
  57   57  extern int brand_get_detach(brand_handle_t, const char *, const char *,
  58   58      char *, size_t);
  59   59  extern int brand_get_shutdown(brand_handle_t, const char *, const char *,
  60   60      char *, size_t);
  61   61  extern int brand_get_halt(brand_handle_t, const char *, const char *,
  62   62      char *, size_t);
  63   63  extern int brand_get_initname(brand_handle_t, char *, size_t);
  64   64  extern boolean_t brand_restartinit(brand_handle_t);
       65 +extern boolean_t brand_restartinit0(brand_handle_t);
       66 +extern boolean_t brand_restartinitreboot(brand_handle_t);
  65   67  extern int brand_get_install(brand_handle_t, const char *, const char *,
  66   68      char *, size_t);
  67   69  extern int brand_get_installopts(brand_handle_t, char *, size_t);
  68   70  extern int brand_get_login_cmd(brand_handle_t, const char *, char *, size_t);
  69   71  extern int brand_get_forcedlogin_cmd(brand_handle_t, const char *,
  70   72      char *, size_t);
  71   73  extern int brand_get_modname(brand_handle_t, char *, size_t);
  72   74  extern int brand_get_postattach(brand_handle_t, const char *, const char *,
  73   75      char *, size_t);
  74   76  extern int brand_get_postclone(brand_handle_t, const char *, const char *,
  75   77      char *, size_t);
  76   78  extern int brand_get_postinstall(brand_handle_t, const char *, const char *,
  77   79      char *, size_t);
  78   80  extern int brand_get_postsnap(brand_handle_t, const char *, const char *,
  79   81      char *, size_t);
  80   82  extern int brand_get_poststatechange(brand_handle_t, const char *, const char *,
  81   83      char *, size_t);
  82   84  extern int brand_get_predetach(brand_handle_t, const char *, const char *,
  83   85      char *, size_t);
  84   86  extern int brand_get_presnap(brand_handle_t, const char *, const char *,
  85   87      char *, size_t);
  86   88  extern int brand_get_prestatechange(brand_handle_t, const char *, const char *,
  87   89      char *, size_t);
  88   90  extern int brand_get_preuninstall(brand_handle_t, const char *, const char *,
  89   91      char *, size_t);
  90   92  extern int brand_get_query(brand_handle_t, const char *, const char *,
  91   93      char *, size_t);
  92   94  extern int brand_get_uninstall(brand_handle_t, const char *, const char *,
  93   95      char *, size_t);
  94   96  extern int brand_get_validatesnap(brand_handle_t, const char *, const char *,
  95   97      char *, size_t);
  96   98  extern int brand_get_user_cmd(brand_handle_t, const char *, char *, size_t);
  97   99  extern int brand_get_verify_cfg(brand_handle_t, char *, size_t);
  98  100  extern int brand_get_verify_adm(brand_handle_t, const char *, const char *,
  99  101      char *, size_t);
 100  102  extern int brand_get_sysboot(brand_handle_t, const char *, const char *, char *,
 101  103      size_t);
 102  104  
 103  105  extern int brand_config_iter_privilege(brand_handle_t,
 104  106      int (*func)(void *, priv_iter_t *), void *);
 105  107  
 106  108  extern int brand_platform_iter_devices(brand_handle_t, const char *,
 107  109      int (*)(void *, const char *, const char *), void *, const char *);
 108  110  extern int brand_platform_iter_gmounts(brand_handle_t, const char *,
 109  111      const char *, int (*)(void *, const char *, const char *, const char *,
 110  112      const char *), void *);
 111  113  extern int brand_platform_iter_link(brand_handle_t, int (*)(void *,
 112  114      const char *, const char *), void *);
 113  115  extern int brand_platform_iter_mounts(brand_handle_t, int (*)(void *,
 114  116      const char *, const char *, const char *, const char *), void *);
 115  117  
 116  118  #ifdef  __cplusplus
 117  119  }
 118  120  #endif
 119  121  
 120  122  #endif  /* _LIBBRAND_H */
  
    | 
      ↓ open down ↓ | 
    46 lines elided | 
    
      ↑ open up ↑ | 
  
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX