diff options
| author | mlf <none@none> | 2007-08-16 14:46:34 -0700 |
|---|---|---|
| committer | mlf <none@none> | 2007-08-16 14:46:34 -0700 |
| commit | 8d483882aa3390058094b043f3d62187b5d1de03 (patch) | |
| tree | 7206e0694ec5e4a1bb7be83944ad9b8db4ada457 /usr/src/cmd/devfsadm/devfsadm.h | |
| parent | ccbaea4f86708ff20eb5256b9e25b53dbf449b7a (diff) | |
| download | illumos-joyent-8d483882aa3390058094b043f3d62187b5d1de03.tar.gz | |
PSARC/2006/501 Nvidia ck804/mcp55 SATA HBA driver
PSARC/2007/100 Device Id Extensions
PSARC/2007/172 Reserved Devnames
6296435 native sata driver needed for nVIDIA mcp04 and mcp55 controllers
6418034 DMA resources need to be released for scsi commands emulated in sata framework
6487018 driver binding for sata storage devices should be more flexible
6487838 common definitions can be defined in sata_defs.h to be shared with other sata HBA's
6549855 PSARC/2007/100 Device Id Extensions
6549915 devfsadm enhancements for PSARC/2007/172 Reserved Devnames
Diffstat (limited to 'usr/src/cmd/devfsadm/devfsadm.h')
| -rw-r--r-- | usr/src/cmd/devfsadm/devfsadm.h | 35 |
1 files changed, 34 insertions, 1 deletions
diff --git a/usr/src/cmd/devfsadm/devfsadm.h b/usr/src/cmd/devfsadm/devfsadm.h index ae6216eb89..c77341fd6c 100644 --- a/usr/src/cmd/devfsadm/devfsadm.h +++ b/usr/src/cmd/devfsadm/devfsadm.h @@ -19,7 +19,7 @@ * CDDL HEADER END */ /* - * Copyright 2006 Sun Microsystems, Inc. All rights reserved. + * Copyright 2007 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ @@ -33,6 +33,15 @@ #include <sys/devinfo_impl.h> #include <regex.h> +#undef DEBUG +#ifndef DEBUG +#define NDEBUG 1 +#else +#undef NDEBUG +#endif + +#include <assert.h> + #ifdef __cplusplus extern "C" { #endif @@ -90,6 +99,9 @@ extern "C" { /* /dev device name binding rule locations */ #define DEVNAME_MASTER_MAP "/etc/dev/devname_master" +/* File of reserved devnames */ +#define ENUMERATE_RESERVED "/etc/dev/reserved_devnames" + /* flags for devfsadm_mklink */ #define DEV_SYNC 0x02 /* synchronous mklink */ @@ -189,6 +201,20 @@ typedef struct devfsadm_enumerate { (sizeof (tbl) / sizeof (devfsadm_remove_V1_t)), \ ((devfsadm_remove_V1_t *)(tbl)) } +/* reserved devname support */ +typedef struct devlink_re { + char *d_re; + int d_subexp; + regex_t d_rcomp; + regmatch_t *d_pmatch; +} devlink_re_t; + +typedef struct enumerate_file { + char *er_file; + char *er_id; + struct enumerate_file *er_next; +} enumerate_file_t; + int devfsadm_noupdate(void); const char *devfsadm_root_path(void); int devfsadm_link_valid(char *link); @@ -207,6 +233,9 @@ int devfsadm_enumerate_char(char *devfs_path, int index, char **buf, char **devfsadm_lookup_dev_names(char *phys_path, char *re, int *lenp); void devfsadm_free_dev_names(char **dev_names, int len); +/* devlink cache related */ +di_devlink_handle_t devfsadm_devlink_cache(void); + /* * Private enumerate interface for disks and sgen modules */ @@ -220,6 +249,10 @@ int devfsadm_enumerate_char_start(char *devfs_path, int index, int devfsadm_read_link(char *link, char **devfs_path); char *s_strdup(const char *ptr); +/* Private interface between reserve subsystm and disks link generator */ +int devfsadm_is_reserved(devlink_re_t re_array[], char *devlink); +int devfsadm_reserve_id_cache(devlink_re_t re_array[], enumerate_file_t *head); + #ifdef __cplusplus } #endif |
