Files
mars-nwe/include/nwnss/include/switchboard.h
2026-06-16 21:14:28 +02:00

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