Chameleon

Chameleon Svn Source Tree

Root/branches/slice/trunkM/i386/include/IOKit/stream/IOStreamUserClient.h

1/*
2 * IOStreamUserClient.h
3 * IOStreamFamily
4 *
5 * Copyright 2006 Apple Computer, Inc. All rights reserved.
6 *
7 */
8
9#if !defined( __IOKIT_IOSTREAMUSERCLIENT_H )
10#define __IOKIT_IOSTREAMUSERCLIENT_H
11
12
13#include <IOKit/IOUserClient.h>
14
15#include <IOKit/stream/IOStreamShared.h>
16#include <IOKit/stream/IOStream.h>
17
18class IOStreamUserClient : public IOUserClient
19{
20 OSDeclareDefaultStructors( IOStreamUserClient )
21
22protected:
23 IOStream * _owner;
24 task_t _task;
25
26public:
27 virtual bool initWithTask(
28 task_t owningTask, void * securityToken, UInt32 type,
29 OSDictionary * properties);
30 virtual bool initWithTask(
31 task_t owningTask, void * securityToken, UInt32 type);
32
33 virtual IOReturn clientClose( void );
34 virtual IOReturn clientDied( void );
35
36 virtual IOService * getService( void );
37
38 virtual IOReturn registerNotificationPort(
39 mach_port_t port, UInt32 type, UInt32 refCon );
40
41 virtual IOReturn connectClient( IOUserClient * client );
42
43 virtual IOExternalMethod * getTargetAndMethodForIndex(
44 IOService ** targetP, UInt32 index );
45
46 virtual IOExternalTrap *
47 getTargetAndTrapForIndex( IOService **targetP, UInt32 index );
48
49 virtual IOReturn clientMemoryForType( UInt32 type,
50 IOOptionBits * options,
51 IOMemoryDescriptor ** memory );
52
53 virtual bool start( IOService * provider );
54
55
56protected:
57 virtual IOReturn openMethod( char * dataIn, char * dataOut,
58 IOByteCount inputSize, IOByteCount * outputSize );
59 virtual IOReturn closeMethod( void );
60 virtual IOReturn startMethod( void );
61 virtual IOReturn stopMethod( void );
62 virtual IOReturn suspendMethod( void );
63 virtual IOReturn getModeMethod( char * dataOut,
64 IOByteCount * outputSize );
65 virtual IOReturn setModeMethod( char * dataIn,
66 IOByteCount inputSize );
67 virtual IOReturn getBufferCountMethod( char * dataOut,
68 IOByteCount * outputSize );
69
70 virtual IOReturn inputTrap( UInt32 token );
71 virtual IOReturn inputSyncTrap( UInt32 token );
72
73};
74
75#endif /* ! __IOKIT_IOSTREAMUSERCLIENT_H */
76
77

Archive Download this file

Revision: 1171