home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 1999 March B / SCO_CASTOR4RRT.iso / vxvm / root.2 / usr / include / voldctl.h / voldctl
Text File  |  1998-08-19  |  4KB  |  119 lines

  1. /*
  2.  * Copyright (c) 1998 The Santa Cruz Operation, Inc.. All Rights Reserved. 
  3.  *                                                                         
  4.  *        THIS IS UNPUBLISHED PROPRIETARY SOURCE CODE OF THE               
  5.  *                   SANTA CRUZ OPERATION INC.                             
  6.  *                                                                         
  7.  *   The copyright notice above does not evidence any actual or intended   
  8.  *   publication of such source code.                                      
  9.  */
  10.  
  11. /* @(#)lib.vxvm:libvxvm/common/libvxvm/voldctl.h    1.1 1/24/97 21:49:38 - lib.vxvm:libvxvm/common/libvxvm/voldctl.h */
  12. #ident    "@(#)lib.vxvm:libvxvm/common/libvxvm/voldctl.h    1.1"
  13.  
  14. /*
  15.  * Copyright(C)1996 VERITAS Software Corporation.  ALL RIGHTS RESERVED.
  16.  * UNPUBLISHED -- RIGHTS RESERVED UNDER THE COPYRIGHT
  17.  * LAWS OF THE UNITED STATES.  USE OF A COPYRIGHT NOTICE
  18.  * IS PRECAUTIONARY ONLY AND DOES NOT IMPLY PUBLICATION
  19.  * OR DISCLOSURE.
  20.  * 
  21.  * THIS SOFTWARE CONTAINS CONFIDENTIAL INFORMATION AND
  22.  * TRADE SECRETS OF VERITAS SOFTWARE.  USE, DISCLOSURE,
  23.  * OR REPRODUCTION IS PROHIBITED WITHOUT THE PRIOR
  24.  * EXPRESS WRITTEN PERMISSION OF VERITAS SOFTWARE.
  25.  * 
  26.  *               RESTRICTED RIGHTS LEGEND
  27.  * USE, DUPLICATION, OR DISCLOSURE BY THE GOVERNMENT IS
  28.  * SUBJECT TO RESTRICTIONS AS SET FORTH IN SUBPARAGRAPH
  29.  * (C) (1) (ii) OF THE RIGHTS IN TECHNICAL DATA AND
  30.  * COMPUTER SOFTWARE CLAUSE AT DFARS 252.227-7013.
  31.  *               VERITAS SOFTWARE
  32.  * 1600 PLYMOUTH STREET, MOUNTAIN VIEW, CA 94043
  33.  */
  34.  
  35. #ifndef _VOLDCTL_H
  36. #define _VOLDCTL_H
  37.  
  38. /*
  39.  * vold control operations
  40.  */
  41.  
  42. struct voldctl_hostid_req {
  43.     size_t hostid_size;
  44.     char hostid[1/*hostid_size*/];
  45. };
  46.  
  47. struct voldctl_add_disk_req {
  48.     char name[NAME_SZ];
  49.     char type[DA_TYPE_SZ];
  50.     size_t attrsize;
  51.     char attrbuf[1/*attrsize*/];
  52. };
  53.  
  54. struct voldctl_rm_disk_req {
  55.     char name[NAME_SZ];
  56. };
  57.  
  58. struct voldctl_op_req {
  59.     int op;
  60.     size_t reqsize;
  61.     char reqbuf[1/*reqsize*/];
  62. };
  63.  
  64. struct volboot_contents {
  65.     size_t        _vbc_baselen;
  66.     int        vbc_version_major;
  67.     int        vbc_version_minor;
  68.     volseqno_t    vbc_update_seqno;
  69.     char           *vbc_hostid;
  70.     size_t        vbc_nentry;
  71.     union volboot_entry **vbc_entries;
  72. };
  73.  
  74. union volboot_entry {
  75.     int    vbe_type;
  76.     struct {
  77.         int    vbe_type;
  78.         size_t    _vbe_entry_size;
  79.     } _vbe;
  80.     struct volboot_disk {
  81.         int    vbe_type;
  82.         size_t    _vbe_entry_size;
  83.         char    vbe_disk_name[NAME_SZ];
  84.         char    vbe_disk_type[DA_TYPE_SZ];
  85.         char    vbe_disk_info[1/*variable*/];
  86.     } vbe_disk;
  87. };
  88. #define VOLBOOT_DISK        1    /* disk device */
  89.  
  90. #if defined(__STDC__)
  91. extern int   voldctl_init(const char *);
  92. extern int   voldctl_hostid(const char *);
  93. extern int   voldctl_add_disk(const char *, const char *, const char *, size_t);
  94. extern int   voldctl_rm_disk(const char *);
  95. extern int   voldctl_vold_status(void);
  96. extern int   voldctl_vold_enable(void);
  97. extern int   voldctl_vold_disable(void);
  98. extern int   voldctl_vold_stop(void);
  99. extern int   voldctl_vold_license_check(void);
  100. extern struct volboot_contents *voldctl_get_volboot(void);
  101. extern int   voldctl_op(int, const void *, size_t);
  102. extern VOID *voldctl_query(int, const void *, size_t);
  103. #else    /* not __STDC__ */
  104. extern int   voldctl_init();
  105. extern int   voldctl_hostid();
  106. extern int   voldctl_add_disk();
  107. extern int   voldctl_rm_disk();
  108. extern int   voldctl_vold_status();
  109. extern int   voldctl_vold_enable();
  110. extern int   voldctl_vold_disable();
  111. extern int   voldctl_vold_stop();
  112. extern int   voldctl_vold_license_check();
  113. extern struct volboot_contents *voldctl_get_volboot();
  114. extern int   voldctl_op();
  115. extern VOID *voldctl_query();
  116. #endif    /* __STDC__ */
  117.  
  118. #endif    /* _VOLDCTL_H */
  119.