OpenAFS
OpenAFS distributed network file system
/cygdrive/c/src/openafs/openafs.git/repo/src/WINNT/netidmgr_plugin/afspext.h
00001 /*
00002  * Copyright (c) 2005,2006 Secure Endpoints Inc.
00003  *
00004  * Permission is hereby granted, free of charge, to any person
00005  * obtaining a copy of this software and associated documentation
00006  * files (the "Software"), to deal in the Software without
00007  * restriction, including without limitation the rights to use, copy,
00008  * modify, merge, publish, distribute, sublicense, and/or sell copies
00009  * of the Software, and to permit persons to whom the Software is
00010  * furnished to do so, subject to the following conditions:
00011  *
00012  * The above copyright notice and this permission notice shall be
00013  * included in all copies or substantial portions of the Software.
00014  *
00015  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
00016  * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
00017  * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
00018  * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
00019  * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
00020  * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
00021  * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
00022  * SOFTWARE.
00023  */
00024 
00025 /* $Id$ */
00026 
00027 #ifndef __AFSPLUGIN_EXT_H
00028 #define __AFSPLUGIN_EXT_H
00029 
00043 #define MAXCELLCHARS   256
00044 #define MAXHOSTCHARS   256
00045 #define MAXHOSTSPERCELL 8
00046 
00047 #define TRANSARCAFSDAEMON "TransarcAFSDaemon"
00048 
00049 #define AFS_TOKENNAME_AUTO L"Auto"
00050 #define AFS_TOKENNAME_KRB5 L"Kerberos5"
00051 #define AFS_TOKENNAME_KRB524 L"Kerberos524"
00052 #define AFS_TOKENNAME_KRB4 L"Kerberos4"
00053 
00059 typedef khm_int32 afs_tk_method;
00060 
00062 enum afs_token_method {
00063     AFS_TOKEN_AUTO = 0,         
00068     AFS_TOKEN_KRB5,             
00069     AFS_TOKEN_KRB524,           
00070     AFS_TOKEN_KRB4,             
00071 };
00072 
00079 #define AFS_PLUGIN_VERSION 0x0000001
00080 
00096 #define AFS_MSG_TYPENAME L"AfsExtMessage"
00097 
00119 #define AFS_MSG_ANNOUNCE 1
00120 
00125 typedef struct tag_afs_msg_announce_v1 {
00126     khm_size  cbsize;           
00134     khm_ui_4  version;          
00144     const wchar_t * name;       
00149     khm_handle sub;             
00160     khm_boolean provide_token_acq; 
00167     struct {
00168         const wchar_t * short_desc; 
00173         const wchar_t * long_desc; 
00177         afs_tk_method method_id; 
00182     } token_acq;                
00187 } afs_msg_announce;
00188 
00212 #define AFS_MSG_RESOLVE_TOKEN 2
00213 
00221 typedef struct tag_afs_msg_resolve_token_v1 {
00222     khm_size cbsize;            
00226     const wchar_t * cell;       
00229     const struct ktc_token * token; 
00230     const struct ktc_principal * serverp; 
00231     const struct ktc_principal * clientp; 
00233     khm_handle ident;           
00241     afs_tk_method method;       
00251 } afs_msg_resolve_token;
00252 
00265 #define AFS_MSG_KLOG 3
00266 
00273 typedef struct tag_afs_conf_cellA_v1 {
00274     khm_size cbsize;            
00276     char     name[MAXCELLCHARS]; 
00277     short    numServers;        
00279     short    flags;             
00280     struct sockaddr_in hostAddr[MAXHOSTSPERCELL];
00283     char     hostName[MAXHOSTSPERCELL][MAXHOSTCHARS];
00286     char *   linkedCell;        
00287 } afs_conf_cell;
00288 
00295 typedef struct tag_afs_msg_klogA_v1 {
00296     khm_size        cbsize;     
00298     khm_handle      identity;   
00301     const char *    service;    
00306     const char *    cell;       
00310     const char *    realm;      
00314     const afs_conf_cell * cell_config; 
00317     khm_int32       lifetime;   
00322 } afs_msg_klog;
00323 
00328 #endif
 All Data Structures Files Functions Variables