registry/reg_shares.c

ソースコードを見る。

関数

static char * trim_reg_path (const char *path)
static int shares_subkey_info (const char *key, REGSUBKEY_CTR *subkey_ctr)
static int shares_value_info (const char *key, REGVAL_CTR *val)
static BOOL shares_store_subkey (const char *key, REGSUBKEY_CTR *subkeys)
static BOOL shares_store_value (const char *key, REGVAL_CTR *val)

変数

REGISTRY_OPS shares_reg_ops


関数

static char* trim_reg_path ( const char *  path  )  [static]

reg_shares.c37 行で定義されています。

参照元 shares_subkey_info()shares_value_info().

00038 {
00039         const char *p;
00040         uint16 key_len = strlen(KEY_SHARES);
00041         
00042         /* 
00043          * sanity check...this really should never be True.
00044          * It is only here to prevent us from accessing outside
00045          * the path buffer in the extreme case.
00046          */
00047         
00048         if ( strlen(path) < key_len ) {
00049                 DEBUG(0,("trim_reg_path: Registry path too short! [%s]\n", path));
00050                 return NULL;
00051         }
00052         
00053         
00054         p = path + strlen( KEY_SHARES );
00055         
00056         if ( *p == '\\' )
00057                 p++;
00058         
00059         if ( *p )
00060                 return SMB_STRDUP(p);
00061         else
00062                 return NULL;
00063 }

static int shares_subkey_info ( const char *  key,
REGSUBKEY_CTR subkey_ctr 
) [static]

reg_shares.c70 行で定義されています。

参照先 reg_dyn_tree::pathregsubkey_ctr_addkey()trim_reg_path().

00071 {
00072         char            *path;
00073         BOOL            top_level = False;
00074         int             num_subkeys = 0;
00075         
00076         DEBUG(10,("printing_subkey_info: key=>[%s]\n", key));
00077         
00078         path = trim_reg_path( key );
00079         
00080         /* check to see if we are dealing with the top level key */
00081         
00082         if ( !path )
00083                 top_level = True;
00084                 
00085         if ( top_level ) {
00086                 num_subkeys = 1;
00087                 regsubkey_ctr_addkey( subkey_ctr, "Security" );
00088         }
00089 #if 0
00090         else
00091                 num_subkeys = handle_share_subpath( path, subkey_ctr, NULL );
00092 #endif
00093         
00094         SAFE_FREE( path );
00095         
00096         return num_subkeys;
00097 }

static int shares_value_info ( const char *  key,
REGVAL_CTR val 
) [static]

reg_shares.c104 行で定義されています。

参照先 reg_dyn_tree::pathtrim_reg_path().

00105 {
00106         char            *path;
00107         BOOL            top_level = False;
00108         int             num_values = 0;
00109         
00110         DEBUG(10,("printing_value_info: key=>[%s]\n", key));
00111         
00112         path = trim_reg_path( key );
00113         
00114         /* check to see if we are dealing with the top level key */
00115         
00116         if ( !path )
00117                 top_level = True;
00118         
00119         /* fill in values from the getprinterdata_printer_server() */
00120         if ( top_level )
00121                 num_values = 0;
00122 #if 0
00123         else
00124                 num_values = handle_printing_subpath( path, NULL, val );
00125 #endif
00126                 
00127         SAFE_FREE(path);
00128         
00129         return num_values;
00130 }

static BOOL shares_store_subkey ( const char *  key,
REGSUBKEY_CTR subkeys 
) [static]

reg_shares.c138 行で定義されています。

00139 {
00140         return False;
00141 }

static BOOL shares_store_value ( const char *  key,
REGVAL_CTR val 
) [static]

reg_shares.c149 行で定義されています。

00150 {
00151         return False;
00152 }


変数

REGISTRY_OPS shares_reg_ops

初期値:

reg_shares.c158 行で定義されています。


Sambaに対してSat Aug 29 21:24:06 2009に生成されました。  doxygen 1.4.7