You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
131 lines
2.9 KiB
131 lines
2.9 KiB
/*++
|
|
|
|
Copyright (c) 2001 Microsoft Corporation
|
|
|
|
Module Name:
|
|
|
|
ksacapi.c
|
|
|
|
Abstract:
|
|
|
|
This is the C library header used to interface to SAC driver.
|
|
|
|
Author:
|
|
|
|
Brian Guarraci (briangu)
|
|
|
|
Revision History:
|
|
|
|
--*/
|
|
|
|
#ifndef _KSAC_API_H
|
|
#define _KSAC_API_H
|
|
|
|
#include <ksacapip.h>
|
|
#include <ntddsac.h>
|
|
|
|
//
|
|
// This structure contains the Sac Channel Handle
|
|
// as well as kernel mode specific attributes
|
|
//
|
|
typedef struct _KSAC_CHANNEL_HANDLE {
|
|
SAC_CHANNEL_HANDLE ChannelHandle;
|
|
HANDLE SacEventHandle;
|
|
PKEVENT SacEvent;
|
|
} KSAC_CHANNEL_HANDLE, *PKSAC_CHANNEL_HANDLE;
|
|
|
|
//
|
|
// this should really be in windefs or somewhere like that.
|
|
//
|
|
typedef const PBYTE PCBYTE;
|
|
typedef const PWCHAR PCWCHAR;
|
|
|
|
BOOL
|
|
KSacChannelOpen(
|
|
OUT PKSAC_CHANNEL_HANDLE SacChannelHandle,
|
|
IN PSAC_CHANNEL_OPEN_ATTRIBUTES SacChannelAttributes
|
|
);
|
|
|
|
BOOL
|
|
KSacChannelClose(
|
|
IN OUT PKSAC_CHANNEL_HANDLE SacChannelHandle
|
|
);
|
|
|
|
BOOL
|
|
KSacChannelWrite(
|
|
IN KSAC_CHANNEL_HANDLE SacChannelHandle,
|
|
IN PCBYTE Buffer,
|
|
IN ULONG BufferSize
|
|
);
|
|
|
|
BOOL
|
|
KSacChannelRawWrite(
|
|
IN KSAC_CHANNEL_HANDLE SacChannelHandle,
|
|
IN PCBYTE Buffer,
|
|
IN ULONG BufferSize
|
|
);
|
|
|
|
BOOL
|
|
KSacChannelVTUTF8Write(
|
|
IN KSAC_CHANNEL_HANDLE SacChannelHandle,
|
|
IN PCWCHAR Buffer,
|
|
IN ULONG BufferSize
|
|
);
|
|
|
|
BOOL
|
|
KSacChannelVTUTF8WriteString(
|
|
IN KSAC_CHANNEL_HANDLE SacChannelHandle,
|
|
IN PCWSTR String
|
|
);
|
|
|
|
BOOL
|
|
KSacChannelHasNewData(
|
|
IN KSAC_CHANNEL_HANDLE SacChannelHandle,
|
|
OUT PBOOL InputWaiting
|
|
);
|
|
|
|
BOOL
|
|
KSacChannelGetAttribute(
|
|
IN KSAC_CHANNEL_HANDLE SacChannelHandle,
|
|
IN SAC_CHANNEL_ATTRIBUTE SacChannelAttribute,
|
|
OUT PSAC_RSP_GET_CHANNEL_ATTRIBUTE SacChannelAttributeValue
|
|
);
|
|
|
|
BOOL
|
|
KSacChannelSetAttribute(
|
|
IN KSAC_CHANNEL_HANDLE SacChannelHandle,
|
|
IN SAC_CHANNEL_ATTRIBUTE SacChannelAttribute,
|
|
IN PVOID SacChannelAttributeValue
|
|
);
|
|
|
|
BOOL
|
|
KSacChannelGetStatus(
|
|
IN KSAC_CHANNEL_HANDLE SacChannelHandle,
|
|
OUT PSAC_CHANNEL_STATUS SacChannelStatus
|
|
);
|
|
|
|
BOOL
|
|
KSacChannelRead(
|
|
IN KSAC_CHANNEL_HANDLE SacChannelHandle,
|
|
OUT PBYTE Buffer,
|
|
IN ULONG BufferSize,
|
|
OUT PULONG ByteCount
|
|
);
|
|
|
|
BOOL
|
|
KSacChannelRawRead(
|
|
IN KSAC_CHANNEL_HANDLE SacChannelHandle,
|
|
OUT PBYTE Buffer,
|
|
IN ULONG BufferSize,
|
|
OUT PULONG ByteCount
|
|
);
|
|
|
|
BOOL
|
|
KSacChannelVTUTF8Read(
|
|
IN KSAC_CHANNEL_HANDLE SacChannelHandle,
|
|
OUT PWSTR Buffer,
|
|
IN ULONG BufferSize,
|
|
OUT PULONG ByteCount
|
|
);
|
|
|
|
#endif
|