/* Copyright 1998 Acorn Computers Ltd
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
/*
*   LANMAN.H - Definitions for main LanMan client module
*
*   Versions
*
*   07-03-94 INH Original, from FSinC
*
*
*/

/* Constants ------------- */

#define FilingSystemName                "LanMan"
#define Our_FS_Number                   102


#define FSControl_AddFilingSystem       12
#define FSControl_SelectFilingSystem    14
#define FSControl_RemoveFilingSystem    16
#define Information_Block_Size          12

#define INFO_SPECIALFIELD               0x80000000
#define INFO_INTERACTIVE                0x40000000
#define INFO_NULLFILENAMES              0x20000000
#define INFO_OPENNONEXISTENT            0x10000000
#define INFO_ARGS_FLUSH                 0x08000000
#define INFO_FILE_TIME                  0x04000000
#define INFO_FUNC_TEMPFS                0x02000000

#define INFO_SUPPORTS_IMAGE             0x00800000
#define INFO_NO_EXPAND_PATH             0x00400000
#define INFO_NO_STORE_PATHS             0x00200000
#define INFO_AVOID_FILE255              0x00100000
#define INFO_AVOID_FILE0                0x00080000
#define INFO_USE_FUNC9                  0x00040000
#define INFO_EXTRA_INFO                 0x00020000

#define INFO2_SUPPORTS_IOCTL            0x00000008


#define Information_Word                (Our_FS_Number|INFO_FILE_TIME|INFO_EXTRA_INFO)
#define Information2_Word               (INFO2_SUPPORTS_IOCTL)
#define Service_FSRedeclare             0x40
#define Service_ResourceFSStarting      0x000060
#define ASpace                          ' '


#define NBNSIPCMOS0			0x50
#define NBNSIPCMOS1			0xe4
#define NBNSIPCMOS2			0xe5
#define NBNSIPCMOS3			0xe6



/* Misc bits ------------- */

extern const int *Image_RO_Base;


/* C.LanMan exports ------------- */
/*
        These routines get used by the cmhg generated header.
*/

extern int LM_pw;

extern void LM_Boot(void);
extern int RdCMOS(int);

/* S.Interface exports --------------- */

extern void veneer_fsentry_open( void );
extern void veneer_fsentry_getbytes( void );
extern void veneer_fsentry_putbytes( void );
extern void veneer_fsentry_args( void );
extern void veneer_fsentry_close( void );
extern void veneer_fsentry_file( void );
extern void veneer_fsentry_func( void );
extern void veneer_fsentry_gbpb( void );

extern void Free_ServiceRoutine(void);

extern void CollectCallbacks(void);