OpenAFS
OpenAFS distributed network file system
|
This section documents messages and data structures used by AFS extension plugins. More...
Data Structures | |
struct | tag_afs_msg_announce_v1 |
Parameter structure for announcing an extension plugin. More... | |
struct | tag_afs_msg_resolve_token_v1 |
Message structure for AFS_MSG_RESOLVE_TOKEN. More... | |
struct | tag_afs_conf_cellA_v1 |
Cell configuration information. More... | |
struct | tag_afs_msg_klogA_v1 |
Message parameters for AFS_MSG_KLOG message. More... | |
Defines | |
#define | MAXCELLCHARS 256 |
#define | MAXHOSTCHARS 256 |
#define | MAXHOSTSPERCELL 8 |
#define | TRANSARCAFSDAEMON "TransarcAFSDaemon" |
#define | AFS_TOKENNAME_AUTO L"Auto" |
#define | AFS_TOKENNAME_KRB5 L"Kerberos5" |
#define | AFS_TOKENNAME_KRB524 L"Kerberos524" |
#define | AFS_TOKENNAME_KRB4 L"Kerberos4" |
#define | AFS_PLUGIN_VERSION 0x0000001 |
Version of the OpenAFS Plugin. | |
Typedefs | |
typedef khm_int32 | afs_tk_method |
An AFS token acquisition method identifier. | |
Enumerations | |
enum | afs_token_method { AFS_TOKEN_AUTO = 0, AFS_TOKEN_KRB5, AFS_TOKEN_KRB524, AFS_TOKEN_KRB4 } |
Predefined token acquisition methods. More... | |
Messages | |
The AFS plugin registers the message type named AFS_MSG_TYPENAME and sends messages of this type to notify any AFS extension plugins to notify them of various events. | |
typedef struct tag_afs_msg_announce_v1 | afs_msg_announce |
Parameter structure for announcing an extension plugin. | |
typedef struct tag_afs_msg_resolve_token_v1 | afs_msg_resolve_token |
Message structure for AFS_MSG_RESOLVE_TOKEN. | |
typedef struct tag_afs_conf_cellA_v1 | afs_conf_cell |
Cell configuration information. | |
typedef struct tag_afs_msg_klogA_v1 | afs_msg_klog |
Message parameters for AFS_MSG_KLOG message. | |
#define | AFS_MSG_TYPENAME L"AfsExtMessage" |
Name of the AFS plugin message. | |
#define | AFS_MSG_ANNOUNCE 1 |
Announce an extension plugin. | |
#define | AFS_MSG_RESOLVE_TOKEN 2 |
Sent to all extensions to resolve the identity of a token. | |
#define | AFS_MSG_KLOG 3 |
Sent to an extension plugin to obtain AFS tokens. |
This section documents messages and data structures used by AFS extension plugins.
These are plugins which augment the behavior of the AFS plugin.
When performing specific tasks for NetIDMgr, the AFS plugin will send out messages to the extension plugins either via broadcast or unicast. The extension plugins provide functionality by responding to these messages.
#define AFS_MSG_ANNOUNCE 1 |
Announce an extension plugin.
Sent by an extension plugin to announce its existence to the AFS plugin. This message should be sent by the extension plugin when it has finished loading, and is the only message permitted to be sent by an extension. All other messages are sent by the AFS plugin.
Since this message contains pointer parameters and there is no cleanup performed on this, the message should be sent using kmq_send_message().
Type | type ID of AFS_MSG_TYPENAME |
Subtype | AFS_MSG_ANNOUNCE |
uparam | 0 |
vparam | Pointer to a afs_msg_announce structure |
#define AFS_MSG_KLOG 3 |
Sent to an extension plugin to obtain AFS tokens.
Type | type ID of AFS_MSG_TYPENAME |
Subtype | AFS_MSG_KLOG |
uparam | 0 |
vparam | Pointer to a afs_msg_klog |
#define AFS_MSG_RESOLVE_TOKEN 2 |
Sent to all extensions to resolve the identity of a token.
If the identity and credentials acquisition method of an AFS token cannot be determined by the AFS plugin, this message is sent out to extension plugins to allow them a chance to resolve it.
If the extension plugin successfully resolves the identity and token acquisition method of the specified token, it should return ::KHM_ERROR_SUCCESS. Otherwise it should return a failure code. The actual return code is not interpreted other than whether or not it passes the ::KHM_SUCCEEDED() test.
Type | type ID of AFS_MSG_TYPENAME |
Subtype | AFS_MSG_RESOLVE_TOKEN |
uparam | 0 |
vparam | Pointer to a afs_msg_resolve_token structure |
#define AFS_MSG_TYPENAME L"AfsExtMessage" |
Name of the AFS plugin message.
This message type is registered when the AFS plugin starts and is unregistered when the plugin stops.
Use kmq_find_type() to find the type ID of this message type.
#define AFS_PLUGIN_VERSION 0x0000001 |
Version of the OpenAFS Plugin.
This is an internal number that identifies the version of the OpenAFS plugin API that this extension was built against. This number is specified when sending the AFS_MSG_ANNOUNCE message.
typedef struct tag_afs_conf_cellA_v1 afs_conf_cell |
Cell configuration information.
typedef struct tag_afs_msg_announce_v1 afs_msg_announce |
Parameter structure for announcing an extension plugin.
typedef struct tag_afs_msg_klogA_v1 afs_msg_klog |
Message parameters for AFS_MSG_KLOG message.
typedef struct tag_afs_msg_resolve_token_v1 afs_msg_resolve_token |
Message structure for AFS_MSG_RESOLVE_TOKEN.
Other than the fields marked as [OUT], all other fields should be considered read-only and should not be modified.
typedef khm_int32 afs_tk_method |
An AFS token acquisition method identifier.
This takes on a value from afs_token_method or a token acquisition method identifier assigned to an extension plugin.
enum afs_token_method |
Predefined token acquisition methods.