📄 ndmp_common.h
字号:
/* -*- Mode: C -*- * ndmp_common.h * * Description : NDMP client/server common stuff. * * Copyright (c) 1996,1997 PDC, Network Appliance. All Rights Reserved. * * $Id: ndmp_common.h,v 1.7 1998/05/26 03:52:13 tim Exp $ */#ifndef _ndmp_common_h#define _ndmp_common_h#if !defined(lint) && !defined(SABER)static char ndmp_common_rcsId[] __attribute__ ((unused)) = "@(#) $Id: ndmp_common.h,v 1.7 1998/05/26 03:52:13 tim Exp $";#endif#include "log.h"#include "ndmp.h"#define NDMP_SDK_VERSION "3.2"#define XDR_AND_SIZE(func) (bool_t(*)(XDR*, ...))xdr_##func##,sizeof(func)#define AUTH_REQUIRED TRUE#define AUTH_NOT_REQUIRED FALSEtypedef void* NdmpConnection;typedef void NdmpConHandlerFunc(NdmpConnection); typedef void NdmpMsgHandlerFunc(NdmpConnection connection, void* request);typedef struct NdmpMsgHandler{ ndmp_message message; u_short version; NdmpMsgHandlerFunc* func; bool_t auth_required; bool_t (*xdr_request)(XDR* xdrs, ...); int sizeof_request; bool_t (*xdr_reply)(XDR* xdrs, ...); int sizeof_reply;} NdmpMsgHandler;NdmpConnectionndmpCreateConnection(NdmpMsgHandler* msgHandlerTbl);voidndmpDestroyConnection(NdmpConnection connection);voidndmpClose(NdmpConnection connectionHandle);intndmpConnect(NdmpConnection connectionHandle, char* host, u_long port);intndmpPoll(NdmpConnection connectionHandle, bool_t block);voidndmpRun(u_long port, bool_t dofork, NdmpMsgHandler* msgHandlerTbl, NdmpConHandlerFunc* conHandlerFunc);intndmpProcessRequests(NdmpConnection connectionHandle);intndmpSendReply(NdmpConnection connectionHandle, ndmp_error err, void* data);intndmpSendRequest(NdmpConnection connectionHandle, ndmp_message message, ndmp_error err, void* request_data, void** reply_data);voidndmpFreeMessage(NdmpConnection connectionHandle);intndmpGetFd(NdmpConnection connectionHandle);voidndmpSetClientData(NdmpConnection connectionHandle, void *client_data);void*ndmpGetClientData(NdmpConnection connectionHandle);voidndmpSetVersion(NdmpConnection connectionHandle, u_short version);u_shortndmpGetVersion(NdmpConnection connectionHandle);voidndmpSetAuthorized(NdmpConnection connectionHandle, bool_t authorized);u_longlong_tquadToLongLong(ndmp_u_quad quad);ndmp_u_quadlongLongToQuad(u_longlong_t ull);voidndmpCreateMD5Digest(char* digest, char* password, char* challenge);#endif /* _ndmp_common_h */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -