0602 nwnss: fix fsmsg method table casts

This commit is contained in:
Mario Fetka
2026-06-16 11:51:28 +00:00
parent dff46bd8b7
commit e913e77ca4

View File

@@ -55,6 +55,7 @@
#include <utc.h>
#include <stdlib.h>
#include <stdint.h>
#include <nssDebug.h>
#include "xError.h"
@@ -82,10 +83,14 @@
#include "dirQuotas.h"
#include "comnPublics.h"
#if defined(__GNUC__)
#pragma GCC diagnostic ignored "-Wincompatible-pointer-types"
#pragma GCC diagnostic ignored "-Wint-conversion"
#endif
#define FSMSG_METHOD(_fn) ((statusfunc_t)(_fn))
#define FSMSG_DATA_PTR(_type, _quad) ((_type *)(uintptr_t)(_quad))
#define FSMSG_DATA_VOID(_quad) ((void *)(uintptr_t)(_quad))
#undef SetStatusFromErrno
#define SetStatusFromErrno(_msg, _genMsg) \
(((_msg)->sys.status = (_genMsg)->errStatus), \
((_msg)->sys.where = (QUAD)(uintptr_t)(_genMsg)->errStatusSetter))
typedef STATUS (*FSMSG_NextCharFunc_t)(utf8_t *name, utf8_t **next, unicode_t *ch);
typedef STATUS (*FSMSG_MethodFunc_t)(zNSSMsg_s *msg);
@@ -174,50 +179,50 @@ FileHandleType_s NormalFileType =
NSS_NUM_METHODS,
NULL, NULL, COMN_Close, MSG_Notify, MSG_BreakDoor),
{
FH_Resolve, /* NSS_RESOLVE_FILEHANDLE */
MSG_AbortUserXaction, /* NSS_ABORTXACTION */
MSG_AddTrustee, /* NSS_ADDTRUSTEE */
COMN_AsyncRead, /* NSS_ASYNCREAD */
MSG_BeginTask, /* NSS_BEGINTASK */
MSG_BeginUserXaction, /* NSS_BEGINXACTION */
MSG_ChangeConnection, /* NSS_CHANGECONNECTION */
MSG_CommitUserXaction, /* NSS_COMMITXACTION */
MSG_Create, /* NSS_CREATE */
MSG_Delete, /* NSS_DELETE */
MSG_DeleteTrustee, /* NSS_DELETETRUSTEE */
COMN_DirectReadFile, /* NSS_DIOREAD */
COMN_DirectWriteFile, /* NSS_DIOWRITE */
MSG_EndTask, /* NSS_ENDTASK */
MSG_Flush, /* NSS_FLUSH */
MSG_GetFileMap, /* NSS_GETFILEMAP */
MSG_GetInfo, /* NSS_GETINFO */
MSG_GetInheritedRightsMask, /* NSS_GETINHERITEDRIGHTSMASK */
MSG_GetTrustee, /* NSS_GETTRUSTEE */
MSG_IsNSS, /* NSS_ISNSS */
MSG_Link, /* NSS_LINK */
MSG_LockByteRange, /* NSS_LOCKBYTERANGE */
MSG_ModifyInfo, /* NSS_MODIFYINFO */
MSG_Open, /* NSS_OPEN */
MSG_ZidOpen, /* NSS_ZID_OPEN */
MSG_ChunkyRead, /* NSS_READ */
MSG_Rename, /* NSS_RENAME */
COMN_SetEOF, /* NSS_SETEOF */
MSG_SetInheritedRightsMask, /* NSS_SETINHERITEDRIGHTSMASK */
COMN_StartAsyncRead, /* NSS_START_ASYNCREAD */
MSG_UnlockByteRange, /* NSS_UNLOCKBYTERANGE */
MSG_WildRead, /* NSS_WILDREAD */
MSG_WildRewind, /* NSS_WILDREWIND */
COMN_Write, /* NSS_WRITE */
MSG_Enumerate, /* NSS_ENUMERATE */
MSG_GetEffectiveRights, /* NSS_GET_EFFECTIVE_RIGHTS */
MSG_ZidDelete, /* NSS_ZID_DELETE */
MSG_ZidCreate, /* NSS_ZID_CREATE */
MSG_ZidLink, /* NSS_ZID_LINK */
MSG_ZidRename, /* NSS_ZID_RENAME */
MSG_FileControl, /* NSS_FILE_CONTROL */
MSG_GetInfoByName, /* NSS_GETINFOBYNAME */
MSG_ModifyInfoByName, /* NSS_MODIFYINFOBYNAME */
NullMethod /* NSS_NEWCONNECTION */
FSMSG_METHOD(FH_Resolve), /* NSS_RESOLVE_FILEHANDLE */
FSMSG_METHOD(MSG_AbortUserXaction), /* NSS_ABORTXACTION */
FSMSG_METHOD(MSG_AddTrustee), /* NSS_ADDTRUSTEE */
FSMSG_METHOD(COMN_AsyncRead), /* NSS_ASYNCREAD */
FSMSG_METHOD(MSG_BeginTask), /* NSS_BEGINTASK */
FSMSG_METHOD(MSG_BeginUserXaction), /* NSS_BEGINXACTION */
FSMSG_METHOD(MSG_ChangeConnection), /* NSS_CHANGECONNECTION */
FSMSG_METHOD(MSG_CommitUserXaction), /* NSS_COMMITXACTION */
FSMSG_METHOD(MSG_Create), /* NSS_CREATE */
FSMSG_METHOD(MSG_Delete), /* NSS_DELETE */
FSMSG_METHOD(MSG_DeleteTrustee), /* NSS_DELETETRUSTEE */
FSMSG_METHOD(COMN_DirectReadFile), /* NSS_DIOREAD */
FSMSG_METHOD(COMN_DirectWriteFile), /* NSS_DIOWRITE */
FSMSG_METHOD(MSG_EndTask), /* NSS_ENDTASK */
FSMSG_METHOD(MSG_Flush), /* NSS_FLUSH */
FSMSG_METHOD(MSG_GetFileMap), /* NSS_GETFILEMAP */
FSMSG_METHOD(MSG_GetInfo), /* NSS_GETINFO */
FSMSG_METHOD(MSG_GetInheritedRightsMask), /* NSS_GETINHERITEDRIGHTSMASK */
FSMSG_METHOD(MSG_GetTrustee), /* NSS_GETTRUSTEE */
FSMSG_METHOD(MSG_IsNSS), /* NSS_ISNSS */
FSMSG_METHOD(MSG_Link), /* NSS_LINK */
FSMSG_METHOD(MSG_LockByteRange), /* NSS_LOCKBYTERANGE */
FSMSG_METHOD(MSG_ModifyInfo), /* NSS_MODIFYINFO */
FSMSG_METHOD(MSG_Open), /* NSS_OPEN */
FSMSG_METHOD(MSG_ZidOpen), /* NSS_ZID_OPEN */
FSMSG_METHOD(MSG_ChunkyRead), /* NSS_READ */
FSMSG_METHOD(MSG_Rename), /* NSS_RENAME */
FSMSG_METHOD(COMN_SetEOF), /* NSS_SETEOF */
FSMSG_METHOD(MSG_SetInheritedRightsMask), /* NSS_SETINHERITEDRIGHTSMASK */
FSMSG_METHOD(COMN_StartAsyncRead), /* NSS_START_ASYNCREAD */
FSMSG_METHOD(MSG_UnlockByteRange), /* NSS_UNLOCKBYTERANGE */
FSMSG_METHOD(MSG_WildRead), /* NSS_WILDREAD */
FSMSG_METHOD(MSG_WildRewind), /* NSS_WILDREWIND */
FSMSG_METHOD(COMN_Write), /* NSS_WRITE */
FSMSG_METHOD(MSG_Enumerate), /* NSS_ENUMERATE */
FSMSG_METHOD(MSG_GetEffectiveRights), /* NSS_GET_EFFECTIVE_RIGHTS */
FSMSG_METHOD(MSG_ZidDelete), /* NSS_ZID_DELETE */
FSMSG_METHOD(MSG_ZidCreate), /* NSS_ZID_CREATE */
FSMSG_METHOD(MSG_ZidLink), /* NSS_ZID_LINK */
FSMSG_METHOD(MSG_ZidRename), /* NSS_ZID_RENAME */
FSMSG_METHOD(MSG_FileControl), /* NSS_FILE_CONTROL */
FSMSG_METHOD(MSG_GetInfoByName), /* NSS_GETINFOBYNAME */
FSMSG_METHOD(MSG_ModifyInfoByName), /* NSS_MODIFYINFOBYNAME */
FSMSG_METHOD(NullMethod) /* NSS_NEWCONNECTION */
}
};
@@ -227,50 +232,50 @@ FileHandleType_s VirtualType =
NSS_NUM_METHODS,
NULL, NULL, VIRT_Close, MSG_Notify, MSG_BreakDoor),
{
FH_Resolve, /* NSS_RESOLVE_FILEHANDLE */
MSG_AbortUserXaction, /* NSS_ABORTXACTION */
MSG_AddTrustee, /* NSS_ADDTRUSTEE */
NullMethod, /* NSS_ASYNCREAD */
MSG_BeginTask, /* NSS_BEGINTASK */
MSG_BeginUserXaction, /* NSS_BEGINXACTION */
MSG_ChangeConnection, /* NSS_CHANGECONNECTION */
MSG_CommitUserXaction, /* NSS_COMMITXACTION */
MSG_Create, /* NSS_CREATE */
MSG_Delete, /* NSS_DELETE */
MSG_DeleteTrustee, /* NSS_DELETETRUSTEE */
COMN_DirectReadFile, /* NSS_DIOREAD */
COMN_DirectWriteFile, /* NSS_DIOWRITE */
MSG_EndTask, /* NSS_ENDTASK */
MSG_Flush, /* NSS_FLUSH */
MSG_GetFileMap, /* NSS_GETFILEMAP */
MSG_GetInfo, /* NSS_GETINFO */
MSG_GetInheritedRightsMask, /* NSS_GETINHERITEDRIGHTSMASK */
MSG_GetTrustee, /* NSS_GETTRUSTEE */
MSG_IsNSS, /* NSS_ISNSS */
MSG_Link, /* NSS_LINK */
MSG_LockByteRange, /* NSS_LOCKBYTERANGE */
MSG_ModifyInfo, /* NSS_MODIFYINFO */
MSG_Open, /* NSS_OPEN */
MSG_ZidOpen, /* NSS_ZID_OPEN */
VIRT_ChunkyRead, /* NSS_READ */
MSG_Rename, /* NSS_RENAME */
COMN_SetEOF, /* NSS_SETEOF */
MSG_SetInheritedRightsMask, /* NSS_SETINHERITEDRIGHTSMASK */
COMN_StartAsyncRead, /* NSS_START_ASYNCREAD */
MSG_UnlockByteRange, /* NSS_UNLOCKBYTERANGE */
MSG_WildRead, /* NSS_WILDREAD */
MSG_WildRewind, /* NSS_WILDREWIND */
VIRT_Write, /* NSS_WRITE */
MSG_Enumerate, /* NSS_ENUMERATE */
MSG_GetEffectiveRights, /* NSS_GET_EFFECTIVE_RIGHTS */
MSG_ZidDelete, /* NSS_ZID_DELETE */
MSG_ZidCreate, /* NSS_ZID_CREATE */
MSG_ZidLink, /* NSS_ZID_LINK */
MSG_ZidRename, /* NSS_ZID_RENAME */
NullMethod, /* NSS_FILE_CONTROL */
MSG_GetInfoByName, /* NSS_GETINFOBYNAME */
MSG_ModifyInfoByName, /* NSS_MODIFYINFOBYNAME */
NullMethod /* NSS_NEWCONNECTION */
FSMSG_METHOD(FH_Resolve), /* NSS_RESOLVE_FILEHANDLE */
FSMSG_METHOD(MSG_AbortUserXaction), /* NSS_ABORTXACTION */
FSMSG_METHOD(MSG_AddTrustee), /* NSS_ADDTRUSTEE */
FSMSG_METHOD(NullMethod), /* NSS_ASYNCREAD */
FSMSG_METHOD(MSG_BeginTask), /* NSS_BEGINTASK */
FSMSG_METHOD(MSG_BeginUserXaction), /* NSS_BEGINXACTION */
FSMSG_METHOD(MSG_ChangeConnection), /* NSS_CHANGECONNECTION */
FSMSG_METHOD(MSG_CommitUserXaction), /* NSS_COMMITXACTION */
FSMSG_METHOD(MSG_Create), /* NSS_CREATE */
FSMSG_METHOD(MSG_Delete), /* NSS_DELETE */
FSMSG_METHOD(MSG_DeleteTrustee), /* NSS_DELETETRUSTEE */
FSMSG_METHOD(COMN_DirectReadFile), /* NSS_DIOREAD */
FSMSG_METHOD(COMN_DirectWriteFile), /* NSS_DIOWRITE */
FSMSG_METHOD(MSG_EndTask), /* NSS_ENDTASK */
FSMSG_METHOD(MSG_Flush), /* NSS_FLUSH */
FSMSG_METHOD(MSG_GetFileMap), /* NSS_GETFILEMAP */
FSMSG_METHOD(MSG_GetInfo), /* NSS_GETINFO */
FSMSG_METHOD(MSG_GetInheritedRightsMask), /* NSS_GETINHERITEDRIGHTSMASK */
FSMSG_METHOD(MSG_GetTrustee), /* NSS_GETTRUSTEE */
FSMSG_METHOD(MSG_IsNSS), /* NSS_ISNSS */
FSMSG_METHOD(MSG_Link), /* NSS_LINK */
FSMSG_METHOD(MSG_LockByteRange), /* NSS_LOCKBYTERANGE */
FSMSG_METHOD(MSG_ModifyInfo), /* NSS_MODIFYINFO */
FSMSG_METHOD(MSG_Open), /* NSS_OPEN */
FSMSG_METHOD(MSG_ZidOpen), /* NSS_ZID_OPEN */
FSMSG_METHOD(VIRT_ChunkyRead), /* NSS_READ */
FSMSG_METHOD(MSG_Rename), /* NSS_RENAME */
FSMSG_METHOD(COMN_SetEOF), /* NSS_SETEOF */
FSMSG_METHOD(MSG_SetInheritedRightsMask), /* NSS_SETINHERITEDRIGHTSMASK */
FSMSG_METHOD(COMN_StartAsyncRead), /* NSS_START_ASYNCREAD */
FSMSG_METHOD(MSG_UnlockByteRange), /* NSS_UNLOCKBYTERANGE */
FSMSG_METHOD(MSG_WildRead), /* NSS_WILDREAD */
FSMSG_METHOD(MSG_WildRewind), /* NSS_WILDREWIND */
FSMSG_METHOD(VIRT_Write), /* NSS_WRITE */
FSMSG_METHOD(MSG_Enumerate), /* NSS_ENUMERATE */
FSMSG_METHOD(MSG_GetEffectiveRights), /* NSS_GET_EFFECTIVE_RIGHTS */
FSMSG_METHOD(MSG_ZidDelete), /* NSS_ZID_DELETE */
FSMSG_METHOD(MSG_ZidCreate), /* NSS_ZID_CREATE */
FSMSG_METHOD(MSG_ZidLink), /* NSS_ZID_LINK */
FSMSG_METHOD(MSG_ZidRename), /* NSS_ZID_RENAME */
FSMSG_METHOD(NullMethod), /* NSS_FILE_CONTROL */
FSMSG_METHOD(MSG_GetInfoByName), /* NSS_GETINFOBYNAME */
FSMSG_METHOD(MSG_ModifyInfoByName), /* NSS_MODIFYINFOBYNAME */
FSMSG_METHOD(NullMethod) /* NSS_NEWCONNECTION */
}
};
@@ -280,50 +285,50 @@ FileHandleType_s MigratedType =
NSS_NUM_METHODS,
NULL, NULL, COMN_Close, MSG_Notify, MSG_BreakDoor),
{
FH_Resolve, /* NSS_RESOLVE_FILEHANDLE */
MSG_AbortUserXaction, /* NSS_ABORTXACTION */
MSG_AddTrustee, /* NSS_ADDTRUSTEE */
DEMIGRATE_AsyncRead, /* NSS_ASYNCREAD */
MSG_BeginTask, /* NSS_BEGINTASK */
MSG_BeginUserXaction, /* NSS_BEGINXACTION */
MSG_ChangeConnection, /* NSS_CHANGECONNECTION */
MSG_CommitUserXaction, /* NSS_COMMITXACTION */
MSG_Create, /* NSS_CREATE */
MSG_Delete, /* NSS_DELETE */
MSG_DeleteTrustee, /* NSS_DELETETRUSTEE */
COMN_DirectReadFile, /* NSS_DIOREAD */
COMN_DirectWriteFile, /* NSS_DIOWRITE */
MSG_EndTask, /* NSS_ENDTASK */
MSG_Flush, /* NSS_FLUSH */
MSG_GetFileMap, /* NSS_GETFILEMAP */
MSG_GetInfo, /* NSS_GETINFO */
MSG_GetInheritedRightsMask, /* NSS_GETINHERITEDRIGHTSMASK */
MSG_GetTrustee, /* NSS_GETTRUSTEE */
MSG_IsNSS, /* NSS_ISNSS */
MSG_Link, /* NSS_LINK */
MSG_LockByteRange, /* NSS_LOCKBYTERANGE */
MSG_ModifyInfo, /* NSS_MODIFYINFO */
MSG_Open, /* NSS_OPEN */
MSG_ZidOpen, /* NSS_ZID_OPEN */
DEMIGRATE_ChunkyRead, /* NSS_READ */
MSG_Rename, /* NSS_RENAME */
DEMIGRATE_SetEOF, /* NSS_SETEOF */
MSG_SetInheritedRightsMask, /* NSS_SETINHERITEDRIGHTSMASK */
COMN_StartAsyncRead, /* NSS_START_ASYNCREAD */
MSG_UnlockByteRange, /* NSS_UNLOCKBYTERANGE */
MSG_WildRead, /* NSS_WILDREAD */
MSG_WildRewind, /* NSS_WILDREWIND */
DEMIGRATE_Write, /* NSS_WRITE */
MSG_Enumerate, /* NSS_ENUMERATE */
MSG_GetEffectiveRights, /* NSS_GET_EFFECTIVE_RIGHTS */
MSG_ZidDelete, /* NSS_ZID_DELETE */
MSG_ZidCreate, /* NSS_ZID_CREATE */
MSG_ZidLink, /* NSS_ZID_LINK */
MSG_ZidRename, /* NSS_ZID_RENAME */
MSG_FileControl, /* NSS_FILE_CONTROL */
MSG_GetInfoByName, /* NSS_GETINFOBYNAME */
MSG_ModifyInfoByName, /* NSS_MODIFYINFOBYNAME */
NullMethod /* NSS_NEWCONNECTION */
FSMSG_METHOD(FH_Resolve), /* NSS_RESOLVE_FILEHANDLE */
FSMSG_METHOD(MSG_AbortUserXaction), /* NSS_ABORTXACTION */
FSMSG_METHOD(MSG_AddTrustee), /* NSS_ADDTRUSTEE */
FSMSG_METHOD(DEMIGRATE_AsyncRead), /* NSS_ASYNCREAD */
FSMSG_METHOD(MSG_BeginTask), /* NSS_BEGINTASK */
FSMSG_METHOD(MSG_BeginUserXaction), /* NSS_BEGINXACTION */
FSMSG_METHOD(MSG_ChangeConnection), /* NSS_CHANGECONNECTION */
FSMSG_METHOD(MSG_CommitUserXaction), /* NSS_COMMITXACTION */
FSMSG_METHOD(MSG_Create), /* NSS_CREATE */
FSMSG_METHOD(MSG_Delete), /* NSS_DELETE */
FSMSG_METHOD(MSG_DeleteTrustee), /* NSS_DELETETRUSTEE */
FSMSG_METHOD(COMN_DirectReadFile), /* NSS_DIOREAD */
FSMSG_METHOD(COMN_DirectWriteFile), /* NSS_DIOWRITE */
FSMSG_METHOD(MSG_EndTask), /* NSS_ENDTASK */
FSMSG_METHOD(MSG_Flush), /* NSS_FLUSH */
FSMSG_METHOD(MSG_GetFileMap), /* NSS_GETFILEMAP */
FSMSG_METHOD(MSG_GetInfo), /* NSS_GETINFO */
FSMSG_METHOD(MSG_GetInheritedRightsMask), /* NSS_GETINHERITEDRIGHTSMASK */
FSMSG_METHOD(MSG_GetTrustee), /* NSS_GETTRUSTEE */
FSMSG_METHOD(MSG_IsNSS), /* NSS_ISNSS */
FSMSG_METHOD(MSG_Link), /* NSS_LINK */
FSMSG_METHOD(MSG_LockByteRange), /* NSS_LOCKBYTERANGE */
FSMSG_METHOD(MSG_ModifyInfo), /* NSS_MODIFYINFO */
FSMSG_METHOD(MSG_Open), /* NSS_OPEN */
FSMSG_METHOD(MSG_ZidOpen), /* NSS_ZID_OPEN */
FSMSG_METHOD(DEMIGRATE_ChunkyRead), /* NSS_READ */
FSMSG_METHOD(MSG_Rename), /* NSS_RENAME */
FSMSG_METHOD(DEMIGRATE_SetEOF), /* NSS_SETEOF */
FSMSG_METHOD(MSG_SetInheritedRightsMask), /* NSS_SETINHERITEDRIGHTSMASK */
FSMSG_METHOD(COMN_StartAsyncRead), /* NSS_START_ASYNCREAD */
FSMSG_METHOD(MSG_UnlockByteRange), /* NSS_UNLOCKBYTERANGE */
FSMSG_METHOD(MSG_WildRead), /* NSS_WILDREAD */
FSMSG_METHOD(MSG_WildRewind), /* NSS_WILDREWIND */
FSMSG_METHOD(DEMIGRATE_Write), /* NSS_WRITE */
FSMSG_METHOD(MSG_Enumerate), /* NSS_ENUMERATE */
FSMSG_METHOD(MSG_GetEffectiveRights), /* NSS_GET_EFFECTIVE_RIGHTS */
FSMSG_METHOD(MSG_ZidDelete), /* NSS_ZID_DELETE */
FSMSG_METHOD(MSG_ZidCreate), /* NSS_ZID_CREATE */
FSMSG_METHOD(MSG_ZidLink), /* NSS_ZID_LINK */
FSMSG_METHOD(MSG_ZidRename), /* NSS_ZID_RENAME */
FSMSG_METHOD(MSG_FileControl), /* NSS_FILE_CONTROL */
FSMSG_METHOD(MSG_GetInfoByName), /* NSS_GETINFOBYNAME */
FSMSG_METHOD(MSG_ModifyInfoByName), /* NSS_MODIFYINFOBYNAME */
FSMSG_METHOD(NullMethod) /* NSS_NEWCONNECTION */
}
};
@@ -333,50 +338,50 @@ FileHandleType_s RootType =
NSS_NUM_METHODS,
NULL, NULL, MSG_CloseRootKey, MSG_Notify, MSG_BreakDoor),
{
FH_Resolve, /* NSS_RESOLVE_FILEHANDLE */
MSG_AbortUserXaction, /* NSS_ABORTXACTION */
NullMethod, /* NSS_ASYNCREAD */
NullMethod, /* NSS_ADDTRUSTEE */
MSG_BeginTask, /* NSS_BEGINTASK */
MSG_BeginUserXaction, /* NSS_BEGINXACTION */
MSG_ChangeConnection, /* NSS_CHANGECONNECTION */
MSG_CommitUserXaction, /* NSS_COMMITXACTION */
MSG_Create, /* NSS_CREATE */
MSG_Delete, /* NSS_DELETE */
NullMethod, /* NSS_DELETETRUSTEE */
NullMethod, /* NSS_DIOREAD */
NullMethod, /* NSS_DIOWRITE */
MSG_EndTask, /* NSS_ENDTASK */
NullMethod, /* NSS_FLUSH */
NullMethod, /* NSS_GETFILEMAP */
NullMethod, /* NSS_GETINFO */
NullMethod, /* NSS_GETINHERITEDRIGHTSMASK */
NullMethod, /* NSS_GETTRUSTEE */
MSG_IsNSS, /* NSS_ISNSS */
MSG_Link, /* NSS_LINK */
NullMethod, /* NSS_LOCKBYTERANGE */
NullMethod, /* NSS_MODIFYINFO */
MSG_Open, /* NSS_OPEN */
MSG_ZidOpen, /* NSS_ZID_OPEN */
NullMethod, /* NSS_READ */
MSG_Rename, /* NSS_RENAME */
NullMethod, /* NSS_SETEOF */
NullMethod, /* NSS_SETINHERITEDRIGHTSMASK */
NullMethod, /* NSS_START_ASYNCREAD */
NullMethod, /* NSS_UNLOCKBYTERANGE */
NullMethod, /* NSS_WILDREAD */
NullMethod, /* NSS_WILDREWIND */
NullMethod, /* NSS_WRITE */
NullMethod, /* NSS_ENUMERATE */
NullMethod, /* NSS_GET_EFFECTIVE_RIGHTS */
MSG_ZidDelete, /* NSS_ZID_DELETE */
MSG_ZidCreate, /* NSS_ZID_CREATE */
MSG_ZidLink, /* NSS_ZID_LINK */
MSG_ZidRename, /* NSS_ZID_RENAME */
NullMethod, /* NSS_FILE_CONTROL */
MSG_GetInfoByName, /* NSS_GETINFOBYNAME */
MSG_ModifyInfoByName, /* NSS_MODIFYINFOBYNAME */
MSG_NewConnection /* NSS_NEWCONNECTION */
FSMSG_METHOD(FH_Resolve), /* NSS_RESOLVE_FILEHANDLE */
FSMSG_METHOD(MSG_AbortUserXaction), /* NSS_ABORTXACTION */
FSMSG_METHOD(NullMethod), /* NSS_ASYNCREAD */
FSMSG_METHOD(NullMethod), /* NSS_ADDTRUSTEE */
FSMSG_METHOD(MSG_BeginTask), /* NSS_BEGINTASK */
FSMSG_METHOD(MSG_BeginUserXaction), /* NSS_BEGINXACTION */
FSMSG_METHOD(MSG_ChangeConnection), /* NSS_CHANGECONNECTION */
FSMSG_METHOD(MSG_CommitUserXaction), /* NSS_COMMITXACTION */
FSMSG_METHOD(MSG_Create), /* NSS_CREATE */
FSMSG_METHOD(MSG_Delete), /* NSS_DELETE */
FSMSG_METHOD(NullMethod), /* NSS_DELETETRUSTEE */
FSMSG_METHOD(NullMethod), /* NSS_DIOREAD */
FSMSG_METHOD(NullMethod), /* NSS_DIOWRITE */
FSMSG_METHOD(MSG_EndTask), /* NSS_ENDTASK */
FSMSG_METHOD(NullMethod), /* NSS_FLUSH */
FSMSG_METHOD(NullMethod), /* NSS_GETFILEMAP */
FSMSG_METHOD(NullMethod), /* NSS_GETINFO */
FSMSG_METHOD(NullMethod), /* NSS_GETINHERITEDRIGHTSMASK */
FSMSG_METHOD(NullMethod), /* NSS_GETTRUSTEE */
FSMSG_METHOD(MSG_IsNSS), /* NSS_ISNSS */
FSMSG_METHOD(MSG_Link), /* NSS_LINK */
FSMSG_METHOD(NullMethod), /* NSS_LOCKBYTERANGE */
FSMSG_METHOD(NullMethod), /* NSS_MODIFYINFO */
FSMSG_METHOD(MSG_Open), /* NSS_OPEN */
FSMSG_METHOD(MSG_ZidOpen), /* NSS_ZID_OPEN */
FSMSG_METHOD(NullMethod), /* NSS_READ */
FSMSG_METHOD(MSG_Rename), /* NSS_RENAME */
FSMSG_METHOD(NullMethod), /* NSS_SETEOF */
FSMSG_METHOD(NullMethod), /* NSS_SETINHERITEDRIGHTSMASK */
FSMSG_METHOD(NullMethod), /* NSS_START_ASYNCREAD */
FSMSG_METHOD(NullMethod), /* NSS_UNLOCKBYTERANGE */
FSMSG_METHOD(NullMethod), /* NSS_WILDREAD */
FSMSG_METHOD(NullMethod), /* NSS_WILDREWIND */
FSMSG_METHOD(NullMethod), /* NSS_WRITE */
FSMSG_METHOD(NullMethod), /* NSS_ENUMERATE */
FSMSG_METHOD(NullMethod), /* NSS_GET_EFFECTIVE_RIGHTS */
FSMSG_METHOD(MSG_ZidDelete), /* NSS_ZID_DELETE */
FSMSG_METHOD(MSG_ZidCreate), /* NSS_ZID_CREATE */
FSMSG_METHOD(MSG_ZidLink), /* NSS_ZID_LINK */
FSMSG_METHOD(MSG_ZidRename), /* NSS_ZID_RENAME */
FSMSG_METHOD(NullMethod), /* NSS_FILE_CONTROL */
FSMSG_METHOD(MSG_GetInfoByName), /* NSS_GETINFOBYNAME */
FSMSG_METHOD(MSG_ModifyInfoByName), /* NSS_MODIFYINFOBYNAME */
FSMSG_METHOD(MSG_NewConnection) /* NSS_NEWCONNECTION */
}
};
@@ -392,49 +397,49 @@ FileHandleType_s InternalEAHandleType =
NSS_NUM_METHODS,
NULL, NULL, EA_Close, NULL, MSG_BreakDoor),
{
FH_Resolve, /* NSS_RESOLVE_FILEHANDLE */
NullMethod, /* NSS_ABORTXACTION */
NullMethod, /* NSS_ADDTRUSTEE */
COMN_AsyncRead, /* NSS_ASYNCREAD */
NullMethod, /* NSS_BEGINTASK */
NullMethod, /* NSS_BEGINXACTION */
NullMethod, /* NSS_CHANGECONNECTION */
NullMethod, /* NSS_COMMITXACTION */
NullMethod, /* NSS_CREATE */
NullMethod, /* NSS_DELETE */
NullMethod, /* NSS_DELETETRUSTEE */
NullMethod, /* NSS_DIOREAD */
NullMethod, /* NSS_DIOWRITE */
NullMethod, /* NSS_ENDTASK */
NullMethod, /* NSS_FLUSH */
NullMethod, /* NSS_GETFILEMAP */
NullMethod, /* NSS_GETINFO */
NullMethod, /* NSS_GETINHERITEDRIGHTSMASK */
NullMethod, /* NSS_GETTRUSTEE */
NullMethod, /* NSS_ISNSS */
NullMethod, /* NSS_LINK */
NullMethod, /* NSS_LOCKBYTERANGE */
NullMethod, /* NSS_MODIFYINFO */
NullMethod, /* NSS_OPEN */
NullMethod, /* NSS_ZID_OPEN */
MSG_ChunkyRead, /* NSS_READ */
NullMethod, /* NSS_RENAME */
COMN_SetEOF, /* NSS_SETEOF */
NullMethod, /* NSS_SETINHERITEDRIGHTSMASK */
COMN_StartAsyncRead, /* NSS_START_ASYNCREAD */
NullMethod, /* NSS_UNLOCKBYTERANGE */
NullMethod, /* NSS_WILDREAD */
NullMethod, /* NSS_WILDREWIND */
COMN_Write, /* NSS_WRITE */
NullMethod, /* NSS_ENUMERATE */
NullMethod, /* NSS_GET_EFFECTIVE_RIGHTS */
NullMethod, /* NSS_ZID_DELETE */
NullMethod, /* NSS_ZID_RENAME */
NullMethod, /* NSS_ZID_CREATE */
NullMethod, /* NSS_FILE_CONTROL */
NullMethod, /* NSS_GETINFOBYNAME */
NullMethod, /* NSS_MODIFYINFOBYNAME */
NullMethod /* NSS_NEWCONNECTION */
FSMSG_METHOD(FH_Resolve), /* NSS_RESOLVE_FILEHANDLE */
FSMSG_METHOD(NullMethod), /* NSS_ABORTXACTION */
FSMSG_METHOD(NullMethod), /* NSS_ADDTRUSTEE */
FSMSG_METHOD(COMN_AsyncRead), /* NSS_ASYNCREAD */
FSMSG_METHOD(NullMethod), /* NSS_BEGINTASK */
FSMSG_METHOD(NullMethod), /* NSS_BEGINXACTION */
FSMSG_METHOD(NullMethod), /* NSS_CHANGECONNECTION */
FSMSG_METHOD(NullMethod), /* NSS_COMMITXACTION */
FSMSG_METHOD(NullMethod), /* NSS_CREATE */
FSMSG_METHOD(NullMethod), /* NSS_DELETE */
FSMSG_METHOD(NullMethod), /* NSS_DELETETRUSTEE */
FSMSG_METHOD(NullMethod), /* NSS_DIOREAD */
FSMSG_METHOD(NullMethod), /* NSS_DIOWRITE */
FSMSG_METHOD(NullMethod), /* NSS_ENDTASK */
FSMSG_METHOD(NullMethod), /* NSS_FLUSH */
FSMSG_METHOD(NullMethod), /* NSS_GETFILEMAP */
FSMSG_METHOD(NullMethod), /* NSS_GETINFO */
FSMSG_METHOD(NullMethod), /* NSS_GETINHERITEDRIGHTSMASK */
FSMSG_METHOD(NullMethod), /* NSS_GETTRUSTEE */
FSMSG_METHOD(NullMethod), /* NSS_ISNSS */
FSMSG_METHOD(NullMethod), /* NSS_LINK */
FSMSG_METHOD(NullMethod), /* NSS_LOCKBYTERANGE */
FSMSG_METHOD(NullMethod), /* NSS_MODIFYINFO */
FSMSG_METHOD(NullMethod), /* NSS_OPEN */
FSMSG_METHOD(NullMethod), /* NSS_ZID_OPEN */
FSMSG_METHOD(MSG_ChunkyRead), /* NSS_READ */
FSMSG_METHOD(NullMethod), /* NSS_RENAME */
FSMSG_METHOD(COMN_SetEOF), /* NSS_SETEOF */
FSMSG_METHOD(NullMethod), /* NSS_SETINHERITEDRIGHTSMASK */
FSMSG_METHOD(COMN_StartAsyncRead), /* NSS_START_ASYNCREAD */
FSMSG_METHOD(NullMethod), /* NSS_UNLOCKBYTERANGE */
FSMSG_METHOD(NullMethod), /* NSS_WILDREAD */
FSMSG_METHOD(NullMethod), /* NSS_WILDREWIND */
FSMSG_METHOD(COMN_Write), /* NSS_WRITE */
FSMSG_METHOD(NullMethod), /* NSS_ENUMERATE */
FSMSG_METHOD(NullMethod), /* NSS_GET_EFFECTIVE_RIGHTS */
FSMSG_METHOD(NullMethod), /* NSS_ZID_DELETE */
FSMSG_METHOD(NullMethod), /* NSS_ZID_RENAME */
FSMSG_METHOD(NullMethod), /* NSS_ZID_CREATE */
FSMSG_METHOD(NullMethod), /* NSS_FILE_CONTROL */
FSMSG_METHOD(NullMethod), /* NSS_GETINFOBYNAME */
FSMSG_METHOD(NullMethod), /* NSS_MODIFYINFOBYNAME */
FSMSG_METHOD(NullMethod) /* NSS_NEWCONNECTION */
}
};
@@ -876,7 +881,7 @@ STATUS MSG_Create (zNSSMsg_s *msg)
/*
* Setup the name message
*/
name = (msg->sys.numDataAreas == 0) ? NULL : msg->sys.data[PATH_DATA].start;
name = (msg->sys.numDataAreas == 0) ? NULL : FSMSG_DATA_VOID(msg->sys.data[PATH_DATA].start);
status = MSG_InitNameMsg(msg, &aStack->nameMsg, name,
msg->body.name.nameSpace, XLATCHED);
if (status != zOK)
@@ -972,7 +977,7 @@ STATUS MSG_ZidCreate (zNSSMsg_s *msg)
/*
* Setup the name message
*/
name = (msg->sys.numDataAreas == 0) ? NULL : msg->sys.data[PATH_DATA].start;
name = (msg->sys.numDataAreas == 0) ? NULL : FSMSG_DATA_VOID(msg->sys.data[PATH_DATA].start);
status = MSG_InitZidNameMsg(msg, &aStack->nameMsg, msg->body.byZid.zid,
name, nameSpace, XLATCHED);
if (status != zOK)
@@ -1051,7 +1056,7 @@ STATUS MSG_Delete (zNSSMsg_s *msg)
/*
* Need to do something with match
*/
name = (msg->sys.numDataAreas == 0) ? NULL : msg->sys.data[PATH_DATA].start;
name = (msg->sys.numDataAreas == 0) ? NULL : FSMSG_DATA_VOID(msg->sys.data[PATH_DATA].start);
status = MSG_InitNameMsg(msg, &aStack->nameMsg, name,
msg->body.name.nameSpace, XLATCHED);
if (status != zOK)
@@ -1401,7 +1406,7 @@ STATUS MSG_Enumerate (zNSSMsg_s *msg)
SearchMsg_s searchMsg;
GetInfoMsg_s infoMsg;
zMatchAttr_s matchAttr;
zInfo_s *info = (zInfo_s *)msg->sys.data[INFO_DATA].start;
zInfo_s *info = FSMSG_DATA_PTR(zInfo_s, msg->sys.data[INFO_DATA].start);
File_s *file;
typedef struct Stack_s {
@@ -1541,7 +1546,7 @@ STATUS MSG_IsNSS (zNSSMsg_s *msg)
STATUS status;
GeneralMsg_s genMsg;
Volume_s *vol;
utf8_t *path = msg->sys.data[PATH_DATA].start;
utf8_t *path = FSMSG_DATA_VOID(msg->sys.data[PATH_DATA].start);
typedef struct Stack_s {
unicode_t name[zMAX_COMPONENT_NAME+1];
@@ -1550,7 +1555,7 @@ STATUS MSG_IsNSS (zNSSMsg_s *msg)
status = getVolName(path, aStack->name, zMAX_COMPONENT_NAME,
(msg->body.name.nameSpace & zMODE_UTF8)
? LB_UTF8ToUniChar : uni2uni);
? (statusfunc_t)LB_UTF8ToUniChar : (statusfunc_t)uni2uni);
if (status != zOK)
{
SetStatus(msg, status);
@@ -1588,7 +1593,7 @@ STATUS MSG_NewConnection (zNSSMsg_s *msg)
SetStatus(msg, zERR_BAD_METHOD);
return zFAILURE;
}
fdn = msg->sys.data[FDN_DATA].start;
fdn = FSMSG_DATA_PTR(unicode_t, msg->sys.data[FDN_DATA].start);
fdn[msg->sys.data[FDN_DATA].length/sizeof(unicode_t) - 1] = 0;
nssConn = MSG_CreateConnection(fdn);
@@ -1620,7 +1625,7 @@ STATUS MSG_Open (zNSSMsg_s *msg)
ASSERT_MPKNSS_LOCK();
name = (msg->sys.numDataAreas == 0) ? NULL : msg->sys.data[PATH_DATA].start;
name = (msg->sys.numDataAreas == 0) ? NULL : FSMSG_DATA_VOID(msg->sys.data[PATH_DATA].start);
status = MSG_InitNameMsg(msg, &aStack->nameMsg, name,
msg->body.name.nameSpace, XLATCHED);
aStack->nameMsg.parseMode = NAMPMODE_FullyResolveAny;
@@ -1745,7 +1750,7 @@ STATUS getAllocationFileMap (zNSSMsg_s *msg)
COMN_STRUCT_INIT(mapMsg);
COMN_SETUP_FILE_MAP_MSG( &mapMsg, msg->body.map.offset, count,
zFILEMAP_ALLOCATION, msg->sys.data[MAP_DATA].start);
zFILEMAP_ALLOCATION, FSMSG_DATA_VOID(msg->sys.data[MAP_DATA].start));
COMN_SETUP_GENERAL_MSG_NO_CONNECTION_RESOLVE( &genMsg);
status = COMN_GetFileMap( &genMsg, &mapMsg, &fileHandleIDP);
@@ -2076,7 +2081,7 @@ void messageInfo (zNSSMsg_s *msg, File_s *file, zInfo_s *info)
STATUS MSG_GetInfo (zNSSMsg_s *msg)
{
FileHandle_s *fh = STRUCT(msg->sys.door, FileHandle_s, door);
zInfo_s *info = (zInfo_s *)msg->sys.data[INFO_DATA].start;
zInfo_s *info = FSMSG_DATA_PTR(zInfo_s, msg->sys.data[INFO_DATA].start);
STATUS status;
GeneralMsg_s genMsg;
@@ -2132,7 +2137,7 @@ STATUS MSG_GetInfo (zNSSMsg_s *msg)
STATUS MSG_GetInfoByName (zNSSMsg_s *msg)
{
FileHandle_s *fh = STRUCT(msg->sys.door, FileHandle_s, door);
zInfo_s *info = (zInfo_s *)msg->sys.data[INFO_DATA].start;
zInfo_s *info = FSMSG_DATA_PTR(zInfo_s, msg->sys.data[INFO_DATA].start);
void *name;
STATUS status;
@@ -2159,7 +2164,7 @@ STATUS MSG_GetInfoByName (zNSSMsg_s *msg)
return zFAILURE;
}
name = (msg->sys.numDataAreas == 1) ? NULL : msg->sys.data[PATH_FOR_INFO_DATA].start;
name = (msg->sys.numDataAreas == 1) ? NULL : FSMSG_DATA_VOID(msg->sys.data[PATH_FOR_INFO_DATA].start);
status = MSG_InitNameMsg(msg, &aStack->nameMsg, name,
msg->body.name.nameSpace, SLATCHED);
aStack->nameMsg.parseMode = NAMPMODE_FullyResolveAny;
@@ -2229,7 +2234,7 @@ STATUS MSG_Link (zNSSMsg_s *msg)
COMN_INCLUDE_INTERNAL_VOLUMES( &genMsg );
status = MSG_InitNameMsg(msg, &aStack->srcNameMsg,
msg->sys.data[PATH_DATA].start,
FSMSG_DATA_VOID(msg->sys.data[PATH_DATA].start),
msg->body.name.nameSpace, XLATCHED);
if (status != zOK)
{
@@ -2241,7 +2246,7 @@ STATUS MSG_Link (zNSSMsg_s *msg)
msg->body.dst.srcMatch);
status = MSG_InitNameMsg(msg, &aStack->destNameMsg,
msg->sys.data[DSTPATH_DATA].start,
FSMSG_DATA_VOID(msg->sys.data[DSTPATH_DATA].start),
msg->body.dst.nameSpace, XLATCHED);
if (status != zOK)
{
@@ -2330,14 +2335,14 @@ STATUS MSG_ZidLink (zNSSMsg_s *msg)
if (msg->body.byZid.dstZid == 0)
{
status = MSG_InitNameMsg(msg, &aStack->destNameMsg,
msg->sys.data[PATH_DATA].start,
FSMSG_DATA_VOID(msg->sys.data[PATH_DATA].start),
msg->body.name.nameSpace, XLATCHED);
}
else
{
status = MSG_InitZidNameMsg(msg, &aStack->destNameMsg,
msg->body.byZid.dstZid,
msg->sys.data[PATH_DATA].start,
FSMSG_DATA_VOID(msg->sys.data[PATH_DATA].start),
msg->body.name.nameSpace, XLATCHED);
}
if (status != zOK)
@@ -2473,7 +2478,7 @@ BOOL bad_numEntries (void *info, QUAD length)
STATUS MSG_ModifyInfo (zNSSMsg_s *msg)
{
FileHandle_s *fh = STRUCT(msg->sys.door, FileHandle_s, door);
zInfo_s *info = (zInfo_s *)msg->sys.data[INFO_DATA].start;
zInfo_s *info = FSMSG_DATA_PTR(zInfo_s, msg->sys.data[INFO_DATA].start);
File_s *file = fh->file;
QUAD mask = msg->body.id.externalFlags;
GeneralMsg_s genMsg;
@@ -2560,7 +2565,7 @@ cleanup_errorNoNameMsg:
STATUS MSG_ModifyInfoByName (zNSSMsg_s *msg)
{
FileHandle_s *fh = STRUCT(msg->sys.door, FileHandle_s, door);
zInfo_s *info = (zInfo_s *)msg->sys.data[INFO_DATA].start;
zInfo_s *info = FSMSG_DATA_PTR(zInfo_s, msg->sys.data[INFO_DATA].start);
File_s *file = fh->file;
QUAD mask = msg->body.id.externalFlags;
GeneralMsg_s genMsg;
@@ -2599,7 +2604,7 @@ STATUS MSG_ModifyInfoByName (zNSSMsg_s *msg)
}
COMN_SETUP_GENERAL_MSG( &genMsg, fh->connID, zNO_TASK, zSAGENT_Z);
name = (msg->sys.numDataAreas == 1) ? NULL : msg->sys.data[PATH_FOR_INFO_DATA].start;
name = (msg->sys.numDataAreas == 1) ? NULL : FSMSG_DATA_VOID(msg->sys.data[PATH_FOR_INFO_DATA].start);
status = MSG_InitNameMsg(msg, &aStack->nameMsg, name,
msg->body.name.nameSpace, XLATCHED);
aStack->nameMsg.parseMode = NAMPMODE_FullyResolveAny;
@@ -2682,7 +2687,7 @@ STATUS MSG_Rename (zNSSMsg_s *msg)
return zFAILURE;
}
status = MSG_InitNameMsg(msg, &aStack->srcNameMsg,
msg->sys.data[PATH_DATA].start,
FSMSG_DATA_VOID(msg->sys.data[PATH_DATA].start),
msg->body.name.nameSpace, XLATCHED);
if (status != zOK)
{
@@ -2694,7 +2699,7 @@ STATUS MSG_Rename (zNSSMsg_s *msg)
msg->body.dst.srcMatch);
status = MSG_InitNameMsg(msg, &aStack->destNameMsg,
msg->sys.data[DSTPATH_DATA].start,
FSMSG_DATA_VOID(msg->sys.data[DSTPATH_DATA].start),
msg->body.dst.nameSpace, XLATCHED);
if (status != zOK)
{
@@ -2784,14 +2789,14 @@ STATUS MSG_ZidRename (zNSSMsg_s *msg)
if (msg->body.byZid.dstZid == 0)
{
status = MSG_InitNameMsg(msg, &aStack->destNameMsg,
msg->sys.data[PATH_DATA].start,
FSMSG_DATA_VOID(msg->sys.data[PATH_DATA].start),
msg->body.name.nameSpace, XLATCHED);
}
else
{
status = MSG_InitZidNameMsg(msg, &aStack->destNameMsg,
msg->body.byZid.dstZid,
msg->sys.data[PATH_DATA].start,
FSMSG_DATA_VOID(msg->sys.data[PATH_DATA].start),
msg->body.name.nameSpace, XLATCHED);
}
if (status != zOK)
@@ -2824,7 +2829,7 @@ STATUS MSG_WildRead (zNSSMsg_s *msg)
SearchMsg_s searchMsg;
GetInfoMsg_s infoMsg;
zMatchAttr_s matchAttr;
zInfo_s *info = (zInfo_s *)msg->sys.data[INFO_DATA].start;
zInfo_s *info = FSMSG_DATA_PTR(zInfo_s, msg->sys.data[INFO_DATA].start);
typedef struct Stack_s {
NamingMsg_s nameMsg;
} Stack_s;