#include <ndissys.h>
-VOID
-EXPORT
-NdisCompleteBindAdapter(
- IN NDIS_HANDLE BindAdapterContext,
- IN NDIS_STATUS Status,
- IN NDIS_STATUS OpenStatus)
-{
- UNIMPLEMENTED
-}
-
-
+/*
+ * @unimplemented
+ */
VOID
EXPORT
NdisCompleteQueryStatistics(
}
+/*
+ * @unimplemented
+ */
VOID
EXPORT
NdisCompleteUnbindAdapter(
}
+/*
+ * @implemented
+ */
VOID
EXPORT
NdisInitializeListHead(
IN PLIST_ENTRY ListHead)
{
- UNIMPLEMENTED
+ InitializeListHead(ListHead);
}
+/*
+ * @implemented
+ */
VOID
EXPORT
NdisInterlockedAddUlong (
IN ULONG Increment,
IN PNDIS_SPIN_LOCK SpinLock)
{
- UNIMPLEMENTED
+ ExInterlockedAddUlong ( Addend, Increment, (PKSPIN_LOCK)SpinLock );
}
+/*
+ * @implemented
+ */
PLIST_ENTRY
EXPORT
NdisInterlockedInsertHeadList(
IN PLIST_ENTRY ListEntry,
IN PNDIS_SPIN_LOCK SpinLock)
{
- UNIMPLEMENTED
-
- return NULL;
+ return ExInterlockedInsertHeadList ( ListHead, ListEntry, (PKSPIN_LOCK)SpinLock );
}
+/*
+ * @implemented
+ */
PLIST_ENTRY
EXPORT
NdisInterlockedInsertTailList(
IN PLIST_ENTRY ListEntry,
IN PNDIS_SPIN_LOCK SpinLock)
{
- UNIMPLEMENTED
-
- return NULL;
+ return ExInterlockedInsertTailList ( ListHead, ListEntry, (PKSPIN_LOCK)SpinLock );
}
+/*
+ * @implemented
+ */
PLIST_ENTRY
EXPORT
NdisInterlockedRemoveHeadList(
IN PLIST_ENTRY ListHead,
IN PNDIS_SPIN_LOCK SpinLock)
{
- UNIMPLEMENTED
-
- return NULL;
+ return ExInterlockedRemoveHeadList ( ListHead, (PKSPIN_LOCK)SpinLock );
}
+/*
+ * @unimplemented
+ */
VOID
EXPORT
NdisMCompleteBufferPhysicalMapping(
}
+/*
+ * @unimplemented
+ */
VOID
EXPORT
NdisMStartBufferPhysicalMapping(
}
+/*
+ * @unimplemented
+ */
VOID
EXPORT
NdisMapFile(
UNIMPLEMENTED
}
-
-VOID
-EXPORT
-NdisWriteConfiguration(
- OUT PNDIS_STATUS Status,
- IN NDIS_HANDLE WrapperConfigurationContext,
- IN PNDIS_STRING Keyword,
- IN PNDIS_CONFIGURATION_PARAMETER * ParameterValue)
+typedef struct _NDIS_HANDLE_OBJECT
{
- UNIMPLEMENTED
-}
+ HANDLE FileHandle;
+ BOOL Mapped;
+ ULONG FileLength;
+ PVOID MapBuffer;
+} NDIS_HANDLE_OBJECT, *PNDIS_HANDLE_OBJECT;
-
-VOID
-EXPORT
-NdisWriteErrorLogEntry(
- IN NDIS_HANDLE NdisAdapterHandle,
- IN NDIS_ERROR_CODE ErrorCode,
- IN ULONG NumberOfErrorValues,
- IN ULONG ERROR_LOG_MAXIMUM_SIZE)
-/* IN ULONG ...)
- * ERROR_LOG_MAXIMUM_SIZE = ... in MSDN
- */
+inline
+PNDIS_HANDLE_OBJECT
+NDIS_HANDLE_TO_POBJECT ( NDIS_HANDLE handle )
{
- UNIMPLEMENTED
+ return (PNDIS_HANDLE_OBJECT)handle;
}
-
-VOID
-EXPORT
-NdisCloseConfiguration(
- IN NDIS_HANDLE ConfigurationHandle)
+inline
+NDIS_HANDLE
+NDIS_POBJECT_TO_HANDLE ( PNDIS_HANDLE_OBJECT obj )
{
- UNIMPLEMENTED
+ return (NDIS_HANDLE)obj;
}
+const WCHAR* NDIS_FILE_FOLDER = L"\\SystemRoot\\System32\\Drivers\\";
+/*
+ * @implemented
+ */
VOID
EXPORT
NdisCloseFile(
IN NDIS_HANDLE FileHandle)
{
- UNIMPLEMENTED
+ PNDIS_HANDLE_OBJECT FileHandleObject;
+
+ ASSERT_IRQL(PASSIVE_LEVEL);
+
+ ASSERT ( FileHandle );
+
+ FileHandleObject = NDIS_HANDLE_TO_POBJECT(FileHandle);
+
+ ASSERT ( FileHandleObject->FileHandle );
+
+ /*
+ if ( FileHandleObject->Mapped )
+ NdisUnmapFile ( FileHandle );
+ */
+
+ ZwClose ( FileHandleObject->FileHandle );
+
+ memset ( FileHandleObject, 0, sizeof(NDIS_HANDLE_OBJECT) );
+
+ ExFreePool ( FileHandleObject );
}
+/*
+ * @unimplemented
+ */
NDIS_STATUS
EXPORT
NdisIMDeInitializeDeviceInstance(
}
+/*
+ * @unimplemented
+ */
NDIS_STATUS
EXPORT
NdisIMInitializeDeviceInstance(
}
+/*
+ * @unimplemented
+ */
NDIS_STATUS
EXPORT
NdisIMRegisterLayeredMiniport(
}
+/*
+ * @unimplemented
+ */
VOID
EXPORT
NdisMWanIndicateReceive(
}
+/*
+ * @unimplemented
+ */
VOID
EXPORT
NdisMWanIndicateReceiveComplete(
}
+/*
+ * @unimplemented
+ */
VOID
EXPORT
NdisMWanSendComplete(
}
-VOID
-EXPORT
-NdisOpenConfiguration(
- OUT PNDIS_STATUS Status,
- OUT PNDIS_HANDLE ConfigurationHandle,
- IN NDIS_HANDLE WrapperConfigurationContext)
-{
- UNIMPLEMENTED
-}
-
-
/*
-NdisOpenConfigurationKeyByIndex
-NdisOpenConfigurationKeyByName
-*/
-
-
+ * @unimplemented
+ */
VOID
EXPORT
NdisOpenFile(
IN PNDIS_STRING FileName,
IN NDIS_PHYSICAL_ADDRESS HighestAcceptableAddress)
{
- UNIMPLEMENTED
+ NDIS_STRING FullFileName;
+ OBJECT_ATTRIBUTES ObjectAttributes;
+ PNDIS_HANDLE_OBJECT FileHandleObject = NULL;
+ //IO_STATUS_BLOCK IoStatusBlock;
+
+ ASSERT_IRQL(PASSIVE_LEVEL);
+
+ *Status = NDIS_STATUS_SUCCESS;
+ FullFileName.Buffer = NULL;
+
+ ASSERT ( Status && FileName );
+
+ FullFileName.Length = sizeof(NDIS_FILE_FOLDER);
+ FullFileName.MaximumLength = FileName->MaximumLength + sizeof(NDIS_FILE_FOLDER);
+ FullFileName.Buffer = ExAllocatePool ( NonPagedPool, FullFileName.MaximumLength );
+
+ if ( !FullFileName.Buffer )
+ {
+ *Status = NDIS_STATUS_RESOURCES;
+ goto cleanup;
+ }
+
+ FileHandleObject = ExAllocatePool ( NonPagedPool, sizeof(NDIS_HANDLE_OBJECT) );
+ if ( !FileHandleObject )
+ {
+ *Status = NDIS_STATUS_RESOURCES;
+ goto cleanup;
+ }
+ memset ( FileHandleObject, 0, sizeof(NDIS_HANDLE_OBJECT) );
+
+ memmove ( FullFileName.Buffer, NDIS_FILE_FOLDER, FullFileName.Length );
+ *Status = RtlAppendUnicodeStringToString ( &FullFileName, FileName );
+ if ( !NT_SUCCESS(*Status) )
+ goto cleanup;
+
+ InitializeObjectAttributes ( &ObjectAttributes,
+ &FullFileName,
+ OBJ_CASE_INSENSITIVE,
+ NULL,
+ NULL );
+
+ *Status = ZwCreateFile (
+ &FileHandleObject->FileHandle,
+ FILE_READ_DATA|SYNCHRONIZE,
+ &ObjectAttributes,
+ NULL, //&IoStatusBlock, // PIO_STATUS_BLOCK
+ NULL, // PLARGE_INTEGER AllocationSize
+ 0, // ULONG FileAttributes
+ FILE_SHARE_READ, // ULONG ShareAccess
+ CREATE_NEW, // ULONG CreateDisposition
+ FILE_SYNCHRONOUS_IO_NONALERT, // ULONG CreateOptions
+ 0, // PVOID EaBuffer
+ 0 ); // ULONG EaLength
+
+ //if ( !NT_SUCCESS(*Status) )
+ // goto cleanup;
+
+cleanup:
+ if ( FullFileName.Buffer != NULL )
+ {
+ ExFreePool ( FullFileName.Buffer );
+ FullFileName.Buffer = NULL;
+ }
+ if ( !NT_SUCCESS(*Status) && FileHandleObject != NULL )
+ {
+ ExFreePool ( FileHandleObject );
+ FileHandleObject = NULL;
+ *FileHandle = NULL;
+ }
+ else
+ *FileHandle = NDIS_POBJECT_TO_HANDLE(FileHandleObject);
+
+ return;
}
NdisOpenGlobalConfiguration
*/
-VOID
-EXPORT
-NdisOpenProtocolConfiguration(
- OUT PNDIS_STATUS Status,
- OUT PNDIS_HANDLE ConfigurationHandle,
- IN PNDIS_STRING ProtocolSection)
-{
- UNIMPLEMENTED
-}
-
-
-VOID
-EXPORT
-NdisReadConfiguration(
- OUT PNDIS_STATUS Status,
- OUT PNDIS_CONFIGURATION_PARAMETER * ParameterValue,
- IN NDIS_HANDLE ConfigurationHandle,
- IN PNDIS_STRING Keyword,
- IN NDIS_PARAMETER_TYPE ParameterType)
-{
- UNIMPLEMENTED
-}
-
-
-VOID
-EXPORT
-NdisReadNetworkAddress(
- OUT PNDIS_STATUS Status,
- OUT PVOID * NetworkAddress,
- OUT PUINT NetworkAddressLength,
- IN NDIS_HANDLE ConfigurationHandle)
-{
- UNIMPLEMENTED
-}
-
-
#if 0
VOID
EXPORT
#endif
+/*
+ * @unimplemented
+ */
CCHAR
EXPORT
NdisSystemProcessorCount(
}
+/*
+ * @unimplemented
+ */
VOID
EXPORT
NdisUnmapFile(
/* NDIS 5.0 extensions */
+/*
+ * @unimplemented
+ */
VOID
EXPORT
NdisCompletePnPEvent(
}
+/*
+ * @unimplemented
+ */
VOID
EXPORT
NdisConvertStringToAtmAddress(
}
+/*
+ * @unimplemented
+ */
VOID
EXPORT
NdisGetCurrentProcessorCounts(
}
+/*
+ * @unimplemented
+ */
VOID
EXPORT
NdisGetDriverHandle(
}
+/*
+ * @unimplemented
+ */
PNDIS_PACKET
EXPORT
NdisGetReceivedPacket(
}
+/*
+ * @unimplemented
+ */
VOID
EXPORT
NdisGetSystemUptime(
}
-VOID
-EXPORT
-NdisInitializeReadWriteLock(
- IN PNDIS_RW_LOCK Lock)
/*
- * FUNCTION:
- * ARGUMENTS:
- * NOTES:
- * NDIS 5.0
+ * @implemented
*/
-{
- UNIMPLEMENTED
-}
-
-
LONG
EXPORT
NdisInterlockedDecrement(
* NDIS 5.0
*/
{
- UNIMPLEMENTED
-
- return 0;
+ return InterlockedDecrement ( Addend );
}
+/*
+ * @implemented
+ */
LONG
EXPORT
NdisInterlockedIncrement(
* NDIS 5.0
*/
{
- UNIMPLEMENTED
-
- return 0;
+ return InterlockedIncrement ( Addend );
}
+/*
+ * @implemented
+ */
PSINGLE_LIST_ENTRY
EXPORT
NdisInterlockedPopEntrySList(
* NDIS 5.0
*/
{
- UNIMPLEMENTED
-
- return NULL;
+ return ExInterlockedPopEntrySList ( ListHead, Lock );
}
+/*
+ * @implemented
+ */
PSINGLE_LIST_ENTRY
EXPORT
NdisInterlockedPushEntrySList(
* NDIS 5.0
*/
{
- UNIMPLEMENTED
-
- return NULL;
+ return ExInterlockedPushEntrySList ( ListHead, ListEntry, Lock );
}
+/*
+ * @unimplemented
+ */
NDIS_STATUS
EXPORT
NdisMDeregisterDevice(
}
+/*
+ * @unimplemented
+ */
VOID
EXPORT
NdisMGetDeviceProperty(
}
+/*
+ * @unimplemented
+ */
NDIS_STATUS
EXPORT
NdisMInitializeScatterGatherDma(
}
+/*
+ * @unimplemented
+ */
NDIS_STATUS
EXPORT
NdisMPromoteMiniport(
}
+/*
+ * @unimplemented
+ */
NDIS_STATUS
EXPORT
NdisMQueryAdapterInstanceName(
}
+/*
+ * @unimplemented
+ */
NDIS_STATUS
EXPORT
NdisMRegisterDevice(
}
+/*
+ * @unimplemented
+ */
VOID
EXPORT
NdisMRegisterUnloadHandler(
}
+/*
+ * @unimplemented
+ */
NDIS_STATUS
EXPORT
NdisMRemoveMiniport(
}
+/*
+ * @unimplemented
+ */
NDIS_STATUS
EXPORT
NdisMSetMiniportSecondary(
}
-VOID
-EXPORT
-NdisOpenConfigurationKeyByIndex(
- OUT PNDIS_STATUS Status,
- IN NDIS_HANDLE ConfigurationHandle,
- IN ULONG Index,
- OUT PNDIS_STRING KeyName,
- OUT PNDIS_HANDLE KeyHandle)
-/*
- * FUNCTION:
- * ARGUMENTS:
- * NOTES:
- * NDIS 5.0
- */
-{
- UNIMPLEMENTED
-}
-
-VOID
-EXPORT
-NdisOpenConfigurationKeyByName(
- OUT PNDIS_STATUS Status,
- IN NDIS_HANDLE ConfigurationHandle,
- IN PNDIS_STRING SubKeyName,
- OUT PNDIS_HANDLE SubKeyHandle)
/*
- * FUNCTION:
- * ARGUMENTS:
- * NOTES:
- * NDIS 5.0
+ * @unimplemented
*/
-{
- UNIMPLEMENTED
-}
-
-
NDIS_STATUS
EXPORT
NdisQueryAdapterInstanceName(
}
+/*
+ * @unimplemented
+ */
VOID
EXPORT
NdisQueryBufferSafe(
}
+/*
+ * @unimplemented
+ */
ULONG
EXPORT
NdisReadPcmciaAttributeMemory(
}
+/*
+ * @unimplemented
+ */
VOID
EXPORT
NdisReleaseReadWriteLock(
UNIMPLEMENTED
}
-
-NDIS_STATUS
-EXPORT
-NdisWriteEventLogEntry(
- IN PVOID LogHandle,
- IN NDIS_STATUS EventCode,
- IN ULONG UniqueEventValue,
- IN USHORT NumStrings,
- IN PVOID StringsList OPTIONAL,
- IN ULONG DataSize,
- IN PVOID Data OPTIONAL)
/*
- * FUNCTION:
- * ARGUMENTS:
- * NOTES:
- * NDIS 5.0
+ * @unimplemented
*/
-{
- UNIMPLEMENTED
-
- return NDIS_STATUS_FAILURE;
-}
-
-
ULONG
EXPORT
NdisWritePcmciaAttributeMemory(
/* NDIS 5.0 extensions for intermediate drivers */
+/*
+ * @unimplemented
+ */
VOID
EXPORT
NdisIMAssociateMiniport(
}
+/*
+ * @unimplemented
+ */
NDIS_STATUS
EXPORT
NdisIMCancelInitializeDeviceInstance(
}
+/*
+ * @unimplemented
+ */
VOID
EXPORT
NdisIMCopySendCompletePerPacketInfo(
}
+/*
+ * @unimplemented
+ */
VOID
EXPORT
NdisIMCopySendPerPacketInfo(
}
+/*
+ * @unimplemented
+ */
VOID
EXPORT
NdisIMDeregisterLayeredMiniport(
}
+/*
+ * @unimplemented
+ */
NDIS_HANDLE
EXPORT
NdisIMGetBindingContext(
}
+/*
+ * @unimplemented
+ */
NDIS_HANDLE
EXPORT
NdisIMGetDeviceContext(
}
+/*
+ * @unimplemented
+ */
NDIS_STATUS
EXPORT
NdisIMInitializeDeviceInstanceEx(