92 lines
2.5 KiB
C
92 lines
2.5 KiB
C
/****************************************************************************
|
|
|
|
|
| (C) Copyright 2002 Novell, Inc.
|
|
| All Rights Reserved.
|
|
|
|
|
| This program is free software; you can redistribute it and/or
|
|
| modify it under the terms of version 2 of the GNU General Public
|
|
| License as published by the Free Software Foundation.
|
|
|
|
|
| This program is distributed in the hope that it will be useful,
|
|
| but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
| MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
| GNU General Public License for more details.
|
|
|
|
|
| You should have received a copy of the GNU General Public License
|
|
| along with this program; if not, contact Novell, Inc.
|
|
|
|
|
| To contact Novell about this file by physical or electronic mail,
|
|
| you may find current contact information at www.novell.com
|
|
|
|
|
|***************************************************************************
|
|
|
|
|
| NetWare Storage Services (NSS) module
|
|
|
|
|
|---------------------------------------------------------------------------
|
|
|
|
|
| $Author: taysom $
|
|
| $Date: 2004-12-31 01:10:58 +0530 (Fri, 31 Dec 2004) $
|
|
|
|
|
| $RCSfile$
|
|
| $Revision: 465 $
|
|
|
|
|
|---------------------------------------------------------------------------
|
|
| This module is used to:
|
|
| Define the constants, structures, and function prototypes for
|
|
| the switchboard.
|
|
+-------------------------------------------------------------------------*/
|
|
#ifndef _SWITCHBOARD_H_
|
|
#define _SWITCHBOARD_H_
|
|
|
|
#ifndef _NSS_MSG_H_
|
|
#include <msg.h>
|
|
#endif
|
|
|
|
#define MAX_SWBRD_NAME 256
|
|
|
|
typedef enum Switchboard_e
|
|
{
|
|
SWBRD_SUPPLIED,
|
|
|
|
NUM_SWITCHBOARD_METHODS
|
|
} Switchboard_e;
|
|
|
|
typedef struct SWBDClient_s
|
|
{
|
|
Name_t swbdName;
|
|
DQhead_t swbdMyKeys;
|
|
} SWBDClient_s;
|
|
|
|
typedef struct SWBDMsgType_s
|
|
{
|
|
mTypeHeader_s hdr;
|
|
statusfunc_t method[NUM_SWITCHBOARD_METHODS];
|
|
} SWBDMsgType_s;
|
|
|
|
#define MAX_SWBD_NAME 32
|
|
|
|
typedef struct SWBD_Msg_s
|
|
{
|
|
mSystemMsg_s sys;
|
|
union SWBDbody_u
|
|
{
|
|
mBody_u std;
|
|
struct SWBDname_s
|
|
{
|
|
unicode_t name[MAX_SWBD_NAME+1];
|
|
} name;
|
|
} b;
|
|
} SWBD_Msg_s;
|
|
|
|
extern SWBDClient_s *SWBD_NewClient(char *name);
|
|
extern void SWBD_KillClient(SWBDClient_s *client);
|
|
|
|
extern STATUS SWBD_SupplyKey(SWBDClient_s *client, unicode_t *name, Key_t key);
|
|
extern STATUS SWBD_DemandKey(SWBDClient_s *client, unicode_t *name, Key_t key);
|
|
extern STATUS SWBD_SupplyLocal(SWBDClient_s *client, unicode_t *name, Key_t key);
|
|
extern STATUS SWBD_SupplyRemote(SWBDClient_s *client, unicode_t *name, Key_t key);
|
|
extern STATUS SWBD_SupplyAll(Key_t key);
|
|
extern void SWBD_DumpSwitchboard(char *buf, int bufLen);
|
|
|
|
#endif
|