mirror of
https://github.com/reactos/reactos.git
synced 2025-02-22 08:25:03 +00:00
Initial revision
svn path=/trunk/; revision=19
This commit is contained in:
parent
b4be455beb
commit
bbddb2c838
11 changed files with 4293 additions and 0 deletions
3
reactos/include/ddk/dbgfuncs.h
Normal file
3
reactos/include/ddk/dbgfuncs.h
Normal file
|
@ -0,0 +1,3 @@
|
|||
|
||||
VOID DbgBreakPoint(VOID);
|
||||
ULONG DbgPrint(PCH Format,...);
|
16
reactos/include/devices.h
Normal file
16
reactos/include/devices.h
Normal file
|
@ -0,0 +1,16 @@
|
|||
typedef struct
|
||||
{
|
||||
LPSTR LeftVolumeName;
|
||||
LPSTR RightVolumeName;
|
||||
ULONG DefaultVolume;
|
||||
ULONG Type;
|
||||
ULONG DeviceType;
|
||||
char Key[4];
|
||||
LPSTR PrototypeName;
|
||||
PVOID DeferredRoutine;
|
||||
PVOID ExclusionRoutine;
|
||||
PVOID DispatchRoutine;
|
||||
PVOID DevCapsRoutine;
|
||||
PVOID HwSetVolume;
|
||||
ULONG IoMethod;
|
||||
}SOUND_DEVICE_INIT;
|
491
reactos/include/in.h
Normal file
491
reactos/include/in.h
Normal file
|
@ -0,0 +1,491 @@
|
|||
unsigned int wavelength=3891;
|
||||
|
||||
unsigned char wave[]={
|
||||
0x52,0x49,0x46,0x46,0x2b,0xf,0x0,0x0,
|
||||
0x57,0x41,0x56,0x45,0x66,0x6d,0x74,0x20,
|
||||
0x10,0x0,0x0,0x0,0x1,0x0,0x1,0x0,
|
||||
0x22,0x56,0x0,0x0,0x22,0x56,0x0,0x0,
|
||||
0x1,0x0,0x8,0x0,0x64,0x61,0x74,0x61,
|
||||
0x7,0xf,0x0,0x0,0x80,0xce,0xb2,0x53,
|
||||
0x2e,0x75,0xca,0xbb,0x5d,0x2c,0x6a,0xc4,
|
||||
0xc2,0x68,0x2c,0x5f,0xbd,0xc8,0x74,0x2e,
|
||||
0x51,0xad,0xd0,0x8a,0x36,0x3f,0x98,0xd2,
|
||||
0xa2,0x46,0x33,0x81,0xcd,0xb5,0x58,0x2d,
|
||||
0x67,0xbe,0xc8,0x78,0x30,0x49,0xa3,0xd2,
|
||||
0x9b,0x43,0x34,0x80,0xcc,0xb9,0x60,0x2c,
|
||||
0x5e,0xb6,0xce,0x89,0x39,0x3b,0x8b,0xce,
|
||||
0xb4,0x5c,0x2d,0x5e,0xb6,0xce,0x89,0x39,
|
||||
0x3a,0x8b,0xce,0xb7,0x62,0x2d,0x54,0xaa,
|
||||
0xd1,0x9b,0x46,0x31,0x74,0xc2,0xc7,0x7b,
|
||||
0x34,0x41,0x94,0xcf,0xb3,0x61,0x2e,0x53,
|
||||
0xa6,0xd1,0xa3,0x4f,0x2e,0x65,0xb7,0xce,
|
||||
0x90,0x41,0x33,0x78,0xc3,0xc8,0x83,0x3a,
|
||||
0x38,0x80,0xc6,0xc4,0x7d,0x36,0x3c,0x86,
|
||||
0xc9,0xc0,0x76,0x34,0x40,0x8d,0xcb,0xbe,
|
||||
0x74,0x34,0x3e,0x87,0xc9,0xc1,0x78,0x36,
|
||||
0x3b,0x83,0xc7,0xc4,0x7e,0x39,0x39,0x7d,
|
||||
0xc2,0xc9,0x8a,0x42,0x32,0x6a,0xb6,0xce,
|
||||
0x9c,0x4f,0x2e,0x5b,0xa8,0xd0,0xab,0x5d,
|
||||
0x2f,0x49,0x94,0xcb,0xbe,0x78,0x39,0x38,
|
||||
0x77,0xbd,0xcc,0x95,0x4a,0x2f,0x5c,0xa7,
|
||||
0xcf,0xb0,0x68,0x33,0x40,0x83,0xc3,0xc9,
|
||||
0x8e,0x47,0x30,0x5c,0xa6,0xcf,0xb2,0x6b,
|
||||
0x34,0x3e,0x7e,0xbf,0xcc,0x99,0x51,0x2f,
|
||||
0x4f,0x96,0xcb,0xc1,0x81,0x40,0x32,0x64,
|
||||
0xab,0xcf,0xb0,0x6c,0x36,0x39,0x74,0xb7,
|
||||
0xce,0xa7,0x61,0x32,0x40,0x80,0xbe,0xcc,
|
||||
0x9d,0x56,0x30,0x48,0x88,0xc3,0xca,0x99,
|
||||
0x54,0x30,0x47,0x88,0xc2,0xca,0x98,0x55,
|
||||
0x30,0x47,0x87,0xc1,0xca,0x9a,0x58,0x31,
|
||||
0x42,0x80,0xbb,0xcd,0xa5,0x63,0x34,0x3b,
|
||||
0x73,0xb3,0xce,0xb1,0x6f,0x39,0x36,0x66,
|
||||
0xa6,0xcc,0xbe,0x84,0x47,0x30,0x50,0x8f,
|
||||
0xc4,0xc9,0x9b,0x5c,0x33,0x3f,0x77,0xb4,
|
||||
0xce,0xb2,0x77,0x40,0x32,0x57,0x96,0xc6,
|
||||
0xc7,0x99,0x5a,0x33,0x3e,0x73,0xb0,0xcd,
|
||||
0xb7,0x7e,0x45,0x31,0x4e,0x88,0xbe,0xcc,
|
||||
0xa9,0x6c,0x3b,0x34,0x5d,0x99,0xc7,0xc7,
|
||||
0x99,0x5d,0x35,0x3a,0x69,0xa3,0xca,0xc3,
|
||||
0x93,0x58,0x33,0x3c,0x6e,0xa8,0xcb,0xc0,
|
||||
0x8f,0x54,0x33,0x3f,0x6f,0xa8,0xcb,0xc1,
|
||||
0x91,0x58,0x34,0x3b,0x69,0xa3,0xc9,0xc5,
|
||||
0x98,0x5f,0x37,0x38,0x61,0x99,0xc4,0xc9,
|
||||
0xa5,0x6d,0x3e,0x33,0x52,0x88,0xba,0xcc,
|
||||
0xb3,0x80,0x4b,0x32,0x44,0x76,0xac,0xca,
|
||||
0xc2,0x96,0x5f,0x38,0x36,0x5b,0x91,0xbf,
|
||||
0xcb,0xaf,0x7b,0x49,0x32,0x44,0x75,0xa9,
|
||||
0xc9,0xc4,0x9d,0x68,0x3d,0x34,0x50,0x83,
|
||||
0xb5,0xcb,0xbc,0x8f,0x59,0x37,0x38,0x5d,
|
||||
0x91,0xbd,0xcb,0xb6,0x85,0x53,0x35,0x3a,
|
||||
0x60,0x94,0xbe,0xcb,0xb3,0x83,0x51,0x34,
|
||||
0x3c,0x62,0x95,0xbe,0xcb,0xb6,0x87,0x56,
|
||||
0x37,0x39,0x5a,0x8c,0xb9,0xcb,0xbb,0x90,
|
||||
0x5d,0x3a,0x35,0x52,0x80,0xb0,0xc9,0xc3,
|
||||
0x9f,0x6e,0x44,0x33,0x43,0x6d,0x9f,0xc2,
|
||||
0xc9,0xaf,0x81,0x53,0x37,0x39,0x57,0x85,
|
||||
0xb2,0xc9,0xc2,0x9f,0x6e,0x45,0x34,0x41,
|
||||
0x68,0x98,0xbe,0xca,0xb8,0x8e,0x61,0x3d,
|
||||
0x34,0x49,0x72,0xa1,0xc2,0xc9,0xb2,0x88,
|
||||
0x5a,0x3b,0x36,0x4e,0x7a,0xa6,0xc4,0xc8,
|
||||
0xb0,0x85,0x59,0x3b,0x36,0x4d,0x76,0xa3,
|
||||
0xc3,0xc9,0xb3,0x89,0x5d,0x3d,0x35,0x49,
|
||||
0x70,0x9c,0xbe,0xc9,0xba,0x96,0x6a,0x44,
|
||||
0x35,0x40,0x61,0x8d,0xb4,0xc8,0xc2,0xa4,
|
||||
0x7a,0x51,0x38,0x38,0x4f,0x78,0xa2,0xc0,
|
||||
0xc9,0xb8,0x93,0x68,0x45,0x35,0x3f,0x5f,
|
||||
0x89,0xaf,0xc6,0xc6,0xad,0x86,0x5e,0x3f,
|
||||
0x35,0x43,0x66,0x8f,0xb4,0xc7,0xc3,0xa9,
|
||||
0x81,0x58,0x3d,0x36,0x46,0x67,0x8f,0xb4,
|
||||
0xc7,0xc4,0xab,0x85,0x5d,0x3f,0x36,0x43,
|
||||
0x63,0x8a,0xb0,0xc5,0xc6,0xb1,0x8e,0x66,
|
||||
0x46,0x36,0x3c,0x56,0x7d,0xa2,0xbf,0xc8,
|
||||
0xbc,0x9c,0x77,0x51,0x3a,0x37,0x48,0x69,
|
||||
0x8f,0xb2,0xc5,0xc5,0xb2,0x8f,0x69,0x48,
|
||||
0x37,0x3b,0x51,0x75,0x9b,0xba,0xc7,0xc1,
|
||||
0xaa,0x86,0x62,0x44,0x37,0x3d,0x55,0x79,
|
||||
0x9d,0xba,0xc7,0xc1,0xa8,0x85,0x61,0x44,
|
||||
0x37,0x3c,0x54,0x75,0x99,0xb7,0xc6,0xc3,
|
||||
0xae,0x8e,0x69,0x4a,0x39,0x3a,0x4c,0x6b,
|
||||
0x8f,0xaf,0xc3,0xc6,0xb8,0x9c,0x79,0x57,
|
||||
0x3f,0x37,0x41,0x59,0x7c,0x9e,0xb9,0xc6,
|
||||
0xc2,0xad,0x8e,0x6c,0x4d,0x3b,0x38,0x46,
|
||||
0x61,0x82,0xa4,0xbc,0xc7,0xc0,0xaa,0x8a,
|
||||
0x68,0x4b,0x3a,0x39,0x48,0x62,0x84,0xa4,
|
||||
0xbc,0xc6,0xc1,0xad,0x8d,0x6d,0x4f,0x3c,
|
||||
0x38,0x44,0x5d,0x7d,0x9d,0xb6,0xc5,0xc4,
|
||||
0xb5,0x99,0x79,0x5b,0x43,0x38,0x3d,0x50,
|
||||
0x6c,0x8c,0xab,0xbf,0xc6,0xbf,0xaa,0x8d,
|
||||
0x6e,0x52,0x3e,0x38,0x41,0x56,0x73,0x92,
|
||||
0xae,0xc1,0xc6,0xbc,0xa5,0x87,0x6a,0x4f,
|
||||
0x3d,0x39,0x41,0x57,0x73,0x92,0xad,0xbf,
|
||||
0xc5,0xbe,0xa9,0x8d,0x70,0x53,0x40,0x39,
|
||||
0x3f,0x50,0x6b,0x88,0xa5,0xba,0xc5,0xc2,
|
||||
0xb3,0x9a,0x7e,0x61,0x49,0x3b,0x3a,0x46,
|
||||
0x5b,0x78,0x94,0xae,0xbf,0xc5,0xbe,0xad,
|
||||
0x93,0x77,0x5b,0x46,0x3b,0x3b,0x47,0x5b,
|
||||
0x77,0x92,0xac,0xbe,0xc5,0xc0,0xb1,0x9a,
|
||||
0x7e,0x63,0x4c,0x3e,0x3a,0x41,0x52,0x6a,
|
||||
0x85,0x9f,0xb4,0xc1,0xc4,0xbc,0xab,0x93,
|
||||
0x79,0x5f,0x4a,0x3d,0x3a,0x42,0x53,0x6a,
|
||||
0x82,0x9c,0xb1,0xc0,0xc4,0xbf,0xb0,0x9a,
|
||||
0x80,0x68,0x51,0x42,0x3a,0x3d,0x48,0x5c,
|
||||
0x73,0x8d,0xa4,0xb7,0xc2,0xc3,0xbc,0xac,
|
||||
0x96,0x7e,0x67,0x51,0x42,0x3b,0x3d,0x48,
|
||||
0x5a,0x70,0x88,0x9f,0xb2,0xbf,0xc3,0xbf,
|
||||
0xb3,0xa1,0x89,0x72,0x5c,0x4a,0x3e,0x3b,
|
||||
0x3f,0x4c,0x5e,0x75,0x8a,0xa1,0xb3,0xbf,
|
||||
0xc3,0xbf,0xb5,0xa3,0x8e,0x77,0x61,0x4e,
|
||||
0x41,0x3b,0x3d,0x46,0x55,0x69,0x80,0x95,
|
||||
0xa9,0xb8,0xc1,0xc3,0xbd,0xb0,0x9f,0x8a,
|
||||
0x75,0x61,0x4e,0x42,0x3c,0x3d,0x44,0x52,
|
||||
0x65,0x7a,0x8e,0xa2,0xb2,0xbd,0xc2,0xc0,
|
||||
0xb8,0xaa,0x98,0x83,0x6f,0x5c,0x4c,0x41,
|
||||
0x3c,0x3d,0x45,0x52,0x63,0x77,0x8b,0x9e,
|
||||
0xaf,0xbb,0xc1,0xc1,0xbc,0xb1,0xa1,0x8f,
|
||||
0x7b,0x67,0x56,0x48,0x3f,0x3c,0x3f,0x47,
|
||||
0x54,0x65,0x77,0x8a,0x9d,0xad,0xb9,0xc0,
|
||||
0xc2,0xbe,0xb5,0xa7,0x97,0x83,0x72,0x60,
|
||||
0x50,0x45,0x3e,0x3d,0x40,0x49,0x56,0x66,
|
||||
0x78,0x8a,0x9c,0xab,0xb7,0xbf,0xc1,0xbf,
|
||||
0xb8,0xac,0x9d,0x8c,0x7b,0x6a,0x59,0x4c,
|
||||
0x43,0x3d,0x3d,0x42,0x4b,0x57,0x67,0x79,
|
||||
0x89,0x9a,0xa8,0xb5,0xbd,0xc1,0xc0,0xbb,
|
||||
0xb1,0xa5,0x95,0x84,0x74,0x63,0x56,0x4a,
|
||||
0x42,0x3e,0x3e,0x43,0x4b,0x57,0x66,0x75,
|
||||
0x85,0x95,0xa4,0xb0,0xba,0xbf,0xc0,0xbe,
|
||||
0xb7,0xad,0xa0,0x92,0x81,0x72,0x63,0x55,
|
||||
0x4a,0x42,0x3e,0x3e,0x42,0x48,0x53,0x60,
|
||||
0x6e,0x7e,0x8d,0x9b,0xa9,0xb4,0xbb,0xbf,
|
||||
0xc0,0xbd,0xb7,0xad,0xa1,0x93,0x84,0x75,
|
||||
0x67,0x5a,0x4f,0x46,0x40,0x3e,0x3f,0x44,
|
||||
0x4b,0x56,0x63,0x71,0x80,0x8d,0x9a,0xa7,
|
||||
0xb1,0xb9,0xbe,0xc0,0xbe,0xb9,0xb2,0xa7,
|
||||
0x9c,0x8e,0x80,0x73,0x65,0x59,0x4f,0x47,
|
||||
0x41,0x3f,0x3f,0x43,0x49,0x53,0x5d,0x69,
|
||||
0x76,0x84,0x91,0x9e,0xa9,0xb3,0xba,0xbe,
|
||||
0xbf,0xbe,0xba,0xb3,0xaa,0xa0,0x93,0x86,
|
||||
0x7a,0x6d,0x60,0x55,0x4d,0x46,0x41,0x3f,
|
||||
0x40,0x44,0x49,0x51,0x5c,0x66,0x72,0x80,
|
||||
0x8b,0x97,0xa2,0xac,0xb4,0xba,0xbd,0xbe,
|
||||
0xbd,0xb9,0xb4,0xab,0xa1,0x96,0x8b,0x80,
|
||||
0x73,0x68,0x5d,0x52,0x4b,0x45,0x41,0x40,
|
||||
0x41,0x44,0x49,0x50,0x58,0x63,0x6e,0x7a,
|
||||
0x85,0x90,0x9b,0xa5,0xae,0xb5,0xba,0xbd,
|
||||
0xbe,0xbd,0xba,0xb4,0xae,0xa5,0x9b,0x91,
|
||||
0x85,0x7b,0x70,0x65,0x5b,0x53,0x4b,0x46,
|
||||
0x42,0x41,0x41,0x43,0x47,0x4c,0x54,0x5d,
|
||||
0x67,0x71,0x7c,0x86,0x90,0x9a,0xa3,0xac,
|
||||
0xb3,0xb8,0xbb,0xbd,0xbd,0xbb,0xb7,0xb2,
|
||||
0xac,0xa3,0x9b,0x91,0x87,0x7d,0x72,0x69,
|
||||
0x5f,0x57,0x50,0x4a,0x45,0x42,0x41,0x42,
|
||||
0x43,0x47,0x4c,0x53,0x5b,0x63,0x6c,0x76,
|
||||
0x80,0x88,0x93,0x9c,0xa4,0xab,0xb1,0xb6,
|
||||
0xba,0xbc,0xbd,0xbc,0xb9,0xb5,0xb0,0xaa,
|
||||
0xa2,0x9a,0x91,0x87,0x80,0x76,0x6c,0x63,
|
||||
0x5c,0x55,0x4e,0x49,0x45,0x43,0x42,0x42,
|
||||
0x44,0x47,0x4b,0x50,0x57,0x5e,0x66,0x6f,
|
||||
0x78,0x80,0x89,0x92,0x9a,0xa2,0xa8,0xae,
|
||||
0xb4,0xb7,0xba,0xbc,0xbc,0xbb,0xb8,0xb5,
|
||||
0xb0,0xab,0xa4,0x9d,0x95,0x8d,0x85,0x7c,
|
||||
0x74,0x6c,0x64,0x5c,0x56,0x51,0x4c,0x48,
|
||||
0x45,0x43,0x43,0x43,0x45,0x48,0x4b,0x50,
|
||||
0x56,0x5d,0x63,0x6b,0x73,0x7b,0x82,0x8a,
|
||||
0x92,0x99,0xa0,0xa7,0xac,0xb1,0xb5,0xb8,
|
||||
0xba,0xbb,0xbb,0xba,0xb8,0xb4,0xb1,0xac,
|
||||
0xa6,0xa0,0x9a,0x92,0x8b,0x83,0x7c,0x75,
|
||||
0x6d,0x66,0x60,0x5a,0x54,0x4f,0x4b,0x48,
|
||||
0x45,0x44,0x43,0x44,0x45,0x47,0x4a,0x4e,
|
||||
0x53,0x58,0x5e,0x64,0x6b,0x72,0x79,0x80,
|
||||
0x87,0x8d,0x94,0x9b,0xa1,0xa6,0xac,0xaf,
|
||||
0xb3,0xb6,0xb8,0xba,0xba,0xba,0xb9,0xb7,
|
||||
0xb4,0xb0,0xad,0xa8,0xa2,0x9d,0x97,0x90,
|
||||
0x8a,0x83,0x7d,0x76,0x70,0x69,0x64,0x5d,
|
||||
0x59,0x53,0x50,0x4c,0x49,0x47,0x45,0x44,
|
||||
0x44,0x45,0x46,0x48,0x4b,0x4f,0x52,0x57,
|
||||
0x5c,0x61,0x67,0x6c,0x72,0x79,0x80,0x85,
|
||||
0x8b,0x91,0x96,0x9c,0xa2,0xa7,0xab,0xaf,
|
||||
0xb2,0xb5,0xb7,0xb8,0xb9,0xb9,0xb9,0xb8,
|
||||
0xb6,0xb4,0xb1,0xae,0xaa,0xa6,0xa1,0x9c,
|
||||
0x96,0x91,0x8c,0x86,0x80,0x7a,0x75,0x6f,
|
||||
0x6a,0x64,0x5f,0x5b,0x56,0x52,0x4f,0x4c,
|
||||
0x4a,0x48,0x46,0x46,0x45,0x46,0x47,0x48,
|
||||
0x4a,0x4c,0x4f,0x52,0x56,0x5a,0x5e,0x63,
|
||||
0x68,0x6e,0x72,0x78,0x7d,0x82,0x88,0x8c,
|
||||
0x92,0x97,0x9b,0xa0,0xa4,0xa8,0xac,0xaf,
|
||||
0xb1,0xb3,0xb6,0xb7,0xb8,0xb8,0xb8,0xb7,
|
||||
0xb6,0xb5,0xb3,0xb0,0xad,0xaa,0xa7,0xa3,
|
||||
0x9f,0x9b,0x97,0x92,0x8c,0x87,0x82,0x7f,
|
||||
0x7a,0x75,0x70,0x6b,0x66,0x62,0x5e,0x5a,
|
||||
0x56,0x54,0x51,0x4e,0x4c,0x4a,0x49,0x47,
|
||||
0x47,0x47,0x47,0x47,0x48,0x4a,0x4b,0x4d,
|
||||
0x50,0x53,0x55,0x59,0x5d,0x61,0x64,0x68,
|
||||
0x6d,0x71,0x76,0x7b,0x7f,0x82,0x87,0x8b,
|
||||
0x90,0x95,0x98,0x9c,0xa0,0xa3,0xa7,0xaa,
|
||||
0xad,0xaf,0xb1,0xb3,0xb4,0xb5,0xb6,0xb7,
|
||||
0xb7,0xb6,0xb6,0xb5,0xb3,0xb2,0xb0,0xad,
|
||||
0xab,0xa8,0xa5,0xa2,0x9e,0x9a,0x96,0x93,
|
||||
0x8e,0x8a,0x86,0x81,0x7f,0x7a,0x76,0x72,
|
||||
0x6d,0x6a,0x65,0x62,0x5e,0x5b,0x58,0x55,
|
||||
0x53,0x50,0x4e,0x4c,0x4b,0x4a,0x49,0x48,
|
||||
0x48,0x48,0x49,0x49,0x4a,0x4b,0x4d,0x4f,
|
||||
0x51,0x54,0x56,0x59,0x5c,0x5f,0x63,0x66,
|
||||
0x6a,0x6e,0x72,0x76,0x7a,0x7e,0x80,0x85,
|
||||
0x89,0x8d,0x90,0x94,0x98,0x9c,0x9f,0xa2,
|
||||
0xa5,0xa7,0xaa,0xac,0xae,0xb0,0xb2,0xb3,
|
||||
0xb4,0xb5,0xb5,0xb5,0xb5,0xb5,0xb4,0xb3,
|
||||
0xb2,0xb0,0xaf,0xad,0xab,0xa8,0xa6,0xa3,
|
||||
0xa0,0x9d,0x9a,0x96,0x93,0x8f,0x8c,0x88,
|
||||
0x84,0x80,0x7e,0x7a,0x76,0x72,0x6f,0x6b,
|
||||
0x68,0x65,0x62,0x5f,0x5c,0x59,0x57,0x54,
|
||||
0x52,0x50,0x4f,0x4d,0x4c,0x4b,0x4a,0x4a,
|
||||
0x4a,0x4a,0x4a,0x4a,0x4b,0x4c,0x4d,0x4f,
|
||||
0x50,0x52,0x54,0x56,0x59,0x5c,0x5e,0x61,
|
||||
0x64,0x67,0x6a,0x6d,0x71,0x74,0x77,0x7b,
|
||||
0x7f,0x81,0x84,0x88,0x8b,0x8e,0x92,0x95,
|
||||
0x98,0x9b,0x9e,0xa1,0xa3,0xa5,0xa8,0xaa,
|
||||
0xac,0xad,0xaf,0xb0,0xb1,0xb2,0xb3,0xb3,
|
||||
0xb3,0xb3,0xb3,0xb3,0xb2,0xb2,0xb1,0xb0,
|
||||
0xae,0xac,0xab,0xa9,0xa7,0xa4,0xa2,0xa0,
|
||||
0x9d,0x9a,0x97,0x95,0x91,0x8f,0x8b,0x89,
|
||||
0x85,0x82,0x80,0x7d,0x79,0x76,0x73,0x70,
|
||||
0x6d,0x6a,0x68,0x65,0x62,0x5f,0x5d,0x5b,
|
||||
0x59,0x56,0x55,0x53,0x51,0x50,0x4f,0x4e,
|
||||
0x4d,0x4c,0x4c,0x4c,0x4b,0x4b,0x4c,0x4c,
|
||||
0x4d,0x4e,0x4e,0x50,0x51,0x53,0x54,0x56,
|
||||
0x58,0x5a,0x5b,0x5d,0x60,0x63,0x65,0x68,
|
||||
0x6a,0x6d,0x70,0x73,0x76,0x78,0x7c,0x7f,
|
||||
0x80,0x84,0x87,0x89,0x8c,0x8f,0x92,0x94,
|
||||
0x97,0x99,0x9c,0x9e,0xa0,0xa2,0xa5,0xa6,
|
||||
0xa8,0xaa,0xab,0xad,0xae,0xaf,0xaf,0xb0,
|
||||
0xb1,0xb1,0xb2,0xb2,0xb2,0xb1,0xb1,0xb1,
|
||||
0xb0,0xaf,0xae,0xad,0xac,0xab,0xa9,0xa8,
|
||||
0xa5,0xa4,0xa2,0xa0,0x9e,0x9c,0x99,0x97,
|
||||
0x95,0x92,0x90,0x8d,0x8b,0x88,0x86,0x82,
|
||||
0x80,0x7e,0x7b,0x78,0x76,0x73,0x71,0x6e,
|
||||
0x6c,0x69,0x67,0x65,0x63,0x60,0x5e,0x5d,
|
||||
0x5b,0x59,0x57,0x56,0x54,0x53,0x52,0x51,
|
||||
0x50,0x50,0x4f,0x4e,0x4e,0x4e,0x4d,0x4d,
|
||||
0x4e,0x4e,0x4e,0x4f,0x4f,0x50,0x51,0x52,
|
||||
0x53,0x54,0x56,0x57,0x58,0x5a,0x5c,0x5e,
|
||||
0x60,0x62,0x63,0x65,0x67,0x6a,0x6c,0x6f,
|
||||
0x71,0x73,0x75,0x78,0x7a,0x7d,0x7f,0x80,
|
||||
0x83,0x85,0x88,0x8a,0x8c,0x8f,0x91,0x93,
|
||||
0x95,0x97,0x99,0x9b,0x9d,0x9f,0xa1,0xa2,
|
||||
0xa4,0xa5,0xa7,0xa8,0xa9,0xaa,0xab,0xac,
|
||||
0xad,0xae,0xae,0xaf,0xaf,0xaf,0xaf,0xaf,
|
||||
0xaf,0xaf,0xaf,0xae,0xae,0xad,0xad,0xac,
|
||||
0xab,0xaa,0xa9,0xa8,0xa7,0xa5,0xa4,0xa3,
|
||||
0xa1,0x9f,0x9e,0x9c,0x9a,0x98,0x96,0x95,
|
||||
0x92,0x91,0x8e,0x8c,0x8a,0x88,0x86,0x84,
|
||||
0x81,0x80,0x7e,0x7c,0x7a,0x78,0x75,0x73,
|
||||
0x71,0x6f,0x6d,0x6b,0x6a,0x67,0x66,0x64,
|
||||
0x63,0x61,0x5f,0x5e,0x5c,0x5b,0x5a,0x58,
|
||||
0x57,0x56,0x55,0x54,0x53,0x53,0x52,0x51,
|
||||
0x51,0x50,0x50,0x50,0x50,0x50,0x50,0x50,
|
||||
0x50,0x50,0x51,0x51,0x52,0x53,0x53,0x54,
|
||||
0x55,0x56,0x57,0x58,0x59,0x5a,0x5c,0x5d,
|
||||
0x5f,0x60,0x61,0x63,0x64,0x66,0x68,0x69,
|
||||
0x6c,0x6d,0x6f,0x71,0x73,0x74,0x77,0x78,
|
||||
0x7a,0x7c,0x7e,0x80,0x81,0x83,0x84,0x87,
|
||||
0x88,0x8a,0x8c,0x8e,0x8f,0x92,0x93,0x94,
|
||||
0x96,0x98,0x99,0x9b,0x9d,0x9e,0x9f,0xa0,
|
||||
0xa2,0xa3,0xa4,0xa5,0xa6,0xa7,0xa8,0xa9,
|
||||
0xa9,0xaa,0xaa,0xab,0xac,0xac,0xac,0xac,
|
||||
0xad,0xad,0xad,0xad,0xad,0xac,0xac,0xac,
|
||||
0xac,0xab,0xab,0xaa,0xaa,0xa9,0xa8,0xa7,
|
||||
0xa6,0xa6,0xa5,0xa4,0xa2,0xa1,0xa0,0x9f,
|
||||
0x9e,0x9d,0x9b,0x99,0x98,0x97,0x95,0x94,
|
||||
0x93,0x90,0x8f,0x8d,0x8c,0x8a,0x89,0x87,
|
||||
0x86,0x83,0x82,0x80,0x80,0x7e,0x7c,0x7b,
|
||||
0x79,0x78,0x76,0x75,0x72,0x71,0x6f,0x6e,
|
||||
0x6c,0x6b,0x6a,0x68,0x67,0x66,0x64,0x63,
|
||||
0x62,0x61,0x60,0x5e,0x5d,0x5c,0x5b,0x5a,
|
||||
0x59,0x59,0x58,0x57,0x56,0x56,0x55,0x55,
|
||||
0x54,0x54,0x54,0x53,0x53,0x53,0x53,0x53,
|
||||
0x53,0x53,0x53,0x53,0x53,0x54,0x54,0x54,
|
||||
0x55,0x55,0x56,0x56,0x56,0x57,0x58,0x59,
|
||||
0x59,0x5a,0x5b,0x5c,0x5d,0x5e,0x5f,0x60,
|
||||
0x61,0x62,0x64,0x64,0x65,0x67,0x68,0x69,
|
||||
0x6b,0x6c,0x6e,0x6f,0x70,0x71,0x73,0x74,
|
||||
0x76,0x77,0x79,0x7a,0x7c,0x7d,0x7e,0x80,
|
||||
0x80,0x82,0x83,0x85,0x86,0x88,0x89,0x8a,
|
||||
0x8b,0x8d,0x8e,0x90,0x91,0x92,0x93,0x94,
|
||||
0x96,0x97,0x98,0x99,0x9a,0x9b,0x9c,0x9d,
|
||||
0x9e,0x9f,0xa0,0xa1,0xa2,0xa2,0xa3,0xa4,
|
||||
0xa5,0xa5,0xa6,0xa6,0xa7,0xa7,0xa8,0xa8,
|
||||
0xa8,0xa9,0xa9,0xa9,0xa9,0xa9,0xaa,0xaa,
|
||||
0xaa,0xa9,0xa9,0xa9,0xa9,0xa9,0xa9,0xa8,
|
||||
0xa8,0xa8,0xa7,0xa7,0xa6,0xa6,0xa5,0xa4,
|
||||
0xa4,0xa3,0xa2,0xa1,0xa1,0xa0,0x9f,0x9e,
|
||||
0x9d,0x9d,0x9c,0x9a,0x99,0x99,0x97,0x96,
|
||||
0x95,0x94,0x93,0x92,0x90,0x8f,0x8e,0x8d,
|
||||
0x8c,0x8a,0x89,0x88,0x87,0x85,0x84,0x83,
|
||||
0x81,0x80,0x80,0x7f,0x7d,0x7d,0x7b,0x7a,
|
||||
0x78,0x77,0x76,0x75,0x74,0x73,0x71,0x70,
|
||||
0x6f,0x6e,0x6c,0x6c,0x6b,0x69,0x68,0x68,
|
||||
0x66,0x65,0x65,0x64,0x63,0x62,0x61,0x60,
|
||||
0x5f,0x5f,0x5e,0x5d,0x5d,0x5c,0x5b,0x5b,
|
||||
0x5a,0x5a,0x59,0x59,0x58,0x58,0x58,0x57,
|
||||
0x57,0x57,0x57,0x57,0x56,0x56,0x56,0x56,
|
||||
0x56,0x56,0x56,0x57,0x57,0x57,0x57,0x57,
|
||||
0x58,0x58,0x58,0x59,0x59,0x5a,0x5a,0x5a,
|
||||
0x5b,0x5c,0x5c,0x5d,0x5d,0x5e,0x5f,0x5f,
|
||||
0x60,0x61,0x62,0x63,0x64,0x64,0x65,0x66,
|
||||
0x67,0x68,0x69,0x6a,0x6b,0x6c,0x6d,0x6e,
|
||||
0x6f,0x70,0x71,0x72,0x73,0x74,0x75,0x76,
|
||||
0x77,0x78,0x7a,0x7b,0x7c,0x7d,0x7e,0x80,
|
||||
0x80,0x81,0x81,0x83,0x84,0x85,0x86,0x87,
|
||||
0x88,0x89,0x8a,0x8b,0x8c,0x8d,0x8e,0x8f,
|
||||
0x90,0x91,0x92,0x93,0x94,0x95,0x96,0x96,
|
||||
0x98,0x98,0x99,0x9a,0x9b,0x9b,0x9c,0x9d,
|
||||
0x9d,0x9e,0x9f,0x9f,0xa0,0xa0,0xa1,0xa1,
|
||||
0xa2,0xa2,0xa3,0xa3,0xa3,0xa4,0xa4,0xa4,
|
||||
0xa5,0xa5,0xa5,0xa5,0xa5,0xa5,0xa6,0xa6,
|
||||
0xa6,0xa6,0xa6,0xa6,0xa6,0xa5,0xa5,0xa5,
|
||||
0xa5,0xa5,0xa5,0xa4,0xa4,0xa4,0xa3,0xa3,
|
||||
0xa3,0xa2,0xa2,0xa1,0xa1,0xa0,0xa0,0x9f,
|
||||
0x9f,0x9e,0x9e,0x9d,0x9d,0x9c,0x9b,0x9a,
|
||||
0x9a,0x99,0x98,0x97,0x97,0x96,0x95,0x95,
|
||||
0x93,0x93,0x92,0x91,0x90,0x8f,0x8e,0x8d,
|
||||
0x8d,0x8c,0x8b,0x8a,0x89,0x88,0x87,0x86,
|
||||
0x85,0x84,0x83,0x82,0x81,0x80,0x80,0x80,
|
||||
0x7e,0x7e,0x7d,0x7c,0x7b,0x7a,0x79,0x78,
|
||||
0x77,0x76,0x75,0x74,0x74,0x73,0x72,0x71,
|
||||
0x70,0x70,0x6e,0x6e,0x6d,0x6c,0x6b,0x6a,
|
||||
0x6a,0x69,0x68,0x67,0x67,0x66,0x65,0x65,
|
||||
0x64,0x64,0x63,0x62,0x62,0x62,0x61,0x61,
|
||||
0x60,0x60,0x5f,0x5f,0x5e,0x5e,0x5d,0x5d,
|
||||
0x5d,0x5d,0x5c,0x5c,0x5c,0x5c,0x5b,0x5b,
|
||||
0x5b,0x5b,0x5b,0x5b,0x5b,0x5b,0x5b,0x5b,
|
||||
0x5b,0x5b,0x5b,0x5b,0x5b,0x5b,0x5b,0x5b,
|
||||
0x5b,0x5c,0x5c,0x5c,0x5c,0x5d,0x5d,0x5d,
|
||||
0x5e,0x5e,0x5e,0x5f,0x5f,0x60,0x60,0x60,
|
||||
0x61,0x61,0x62,0x62,0x63,0x63,0x64,0x64,
|
||||
0x65,0x65,0x66,0x67,0x67,0x68,0x69,0x69,
|
||||
0x6a,0x6b,0x6b,0x6c,0x6d,0x6d,0x6e,0x6f,
|
||||
0x70,0x70,0x71,0x72,0x73,0x73,0x74,0x75,
|
||||
0x76,0x77,0x77,0x78,0x79,0x7a,0x7b,0x7b,
|
||||
0x7c,0x7d,0x7e,0x7e,0x80,0x80,0x80,0x81,
|
||||
0x82,0x82,0x83,0x84,0x85,0x85,0x86,0x87,
|
||||
0x88,0x88,0x89,0x8a,0x8b,0x8b,0x8c,0x8d,
|
||||
0x8d,0x8e,0x8f,0x90,0x90,0x91,0x92,0x92,
|
||||
0x93,0x93,0x94,0x95,0x95,0x96,0x96,0x97,
|
||||
0x97,0x98,0x99,0x99,0x99,0x9a,0x9a,0x9b,
|
||||
0x9b,0x9b,0x9c,0x9c,0x9d,0x9d,0x9d,0x9e,
|
||||
0x9e,0x9e,0x9e,0x9f,0x9f,0x9f,0x9f,0xa0,
|
||||
0xa0,0xa0,0xa0,0xa0,0xa0,0xa1,0xa1,0xa1,
|
||||
0xa1,0xa1,0xa1,0xa1,0xa1,0xa1,0xa1,0xa1,
|
||||
0xa1,0xa1,0xa1,0xa1,0xa0,0xa0,0xa0,0xa0,
|
||||
0xa0,0xa0,0x9f,0x9f,0x9f,0x9f,0x9f,0x9e,
|
||||
0x9e,0x9e,0x9d,0x9d,0x9d,0x9c,0x9c,0x9c,
|
||||
0x9b,0x9b,0x9a,0x9a,0x9a,0x99,0x99,0x98,
|
||||
0x98,0x97,0x97,0x96,0x96,0x95,0x95,0x94,
|
||||
0x94,0x93,0x93,0x92,0x92,0x91,0x90,0x90,
|
||||
0x8f,0x8f,0x8e,0x8d,0x8d,0x8c,0x8c,0x8b,
|
||||
0x8a,0x8a,0x89,0x88,0x88,0x87,0x87,0x86,
|
||||
0x85,0x85,0x84,0x83,0x83,0x82,0x81,0x81,
|
||||
0x80,0x80,0x80,0x7f,0x7e,0x7e,0x7d,0x7d,
|
||||
0x7c,0x7b,0x7a,0x7a,0x79,0x79,0x78,0x78,
|
||||
0x77,0x76,0x75,0x75,0x74,0x74,0x73,0x73,
|
||||
0x72,0x72,0x71,0x71,0x70,0x6f,0x6f,0x6e,
|
||||
0x6e,0x6d,0x6d,0x6c,0x6c,0x6b,0x6b,0x6a,
|
||||
0x6a,0x69,0x69,0x69,0x68,0x68,0x68,0x67,
|
||||
0x67,0x66,0x66,0x65,0x65,0x65,0x65,0x64,
|
||||
0x64,0x64,0x63,0x63,0x63,0x63,0x62,0x62,
|
||||
0x62,0x62,0x62,0x61,0x61,0x61,0x61,0x61,
|
||||
0x61,0x61,0x60,0x60,0x60,0x60,0x60,0x60,
|
||||
0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,
|
||||
0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x61,
|
||||
0x61,0x61,0x61,0x61,0x61,0x62,0x62,0x62,
|
||||
0x62,0x62,0x63,0x63,0x63,0x63,0x64,0x64,
|
||||
0x64,0x64,0x65,0x65,0x65,0x66,0x66,0x66,
|
||||
0x66,0x67,0x67,0x67,0x68,0x68,0x69,0x69,
|
||||
0x69,0x6a,0x6a,0x6b,0x6b,0x6b,0x6c,0x6c,
|
||||
0x6d,0x6d,0x6e,0x6e,0x6e,0x6f,0x6f,0x70,
|
||||
0x70,0x71,0x71,0x72,0x72,0x73,0x73,0x74,
|
||||
0x74,0x75,0x75,0x76,0x76,0x77,0x77,0x78,
|
||||
0x78,0x79,0x79,0x7a,0x7a,0x7b,0x7b,0x7c,
|
||||
0x7c,0x7d,0x7d,0x7e,0x7e,0x7f,0x80,0x80,
|
||||
0x80,0x80,0x81,0x81,0x82,0x82,0x83,0x83,
|
||||
0x84,0x84,0x84,0x85,0x85,0x86,0x86,0x87,
|
||||
0x87,0x88,0x88,0x89,0x89,0x8a,0x8a,0x8b,
|
||||
0x8b,0x8b,0x8c,0x8c,0x8d,0x8d,0x8e,0x8e,
|
||||
0x8e,0x8e,0x8f,0x8f,0x90,0x90,0x91,0x91,
|
||||
0x91,0x92,0x92,0x92,0x93,0x93,0x93,0x94,
|
||||
0x94,0x94,0x94,0x95,0x95,0x95,0x96,0x96,
|
||||
0x96,0x96,0x97,0x97,0x97,0x97,0x98,0x98,
|
||||
0x98,0x98,0x98,0x99,0x99,0x99,0x99,0x99,
|
||||
0x99,0x9a,0x9a,0x9a,0x9a,0x9a,0x9a,0x9a,
|
||||
0x9a,0x9a,0x9a,0x9b,0x9b,0x9b,0x9b,0x9b,
|
||||
0x9b,0x9b,0x9b,0x9b,0x9b,0x9b,0x9b,0x9b,
|
||||
0x9b,0x9b,0x9b,0x9b,0x9b,0x9a,0x9a,0x9a,
|
||||
0x9a,0x9a,0x9a,0x9a,0x9a,0x9a,0x9a,0x9a,
|
||||
0x99,0x99,0x99,0x99,0x99,0x99,0x98,0x98,
|
||||
0x98,0x98,0x98,0x98,0x97,0x97,0x97,0x97,
|
||||
0x96,0x96,0x96,0x96,0x96,0x95,0x95,0x95,
|
||||
0x94,0x94,0x94,0x94,0x94,0x93,0x93,0x93,
|
||||
0x92,0x92,0x92,0x91,0x91,0x91,0x90,0x90,
|
||||
0x90,0x90,0x8f,0x8f,0x8e,0x8e,0x8e,0x8e,
|
||||
0x8d,0x8d,0x8c,0x8c,0x8c,0x8b,0x8b,0x8b,
|
||||
0x8a,0x8a,0x89,0x89,0x89,0x89,0x88,0x88,
|
||||
0x87,0x87,0x86,0x86,0x86,0x85,0x85,0x85,
|
||||
0x84,0x84,0x84,0x83,0x83,0x82,0x82,0x82,
|
||||
0x81,0x81,0x80,0x80,0x80,0x80,0x80,0x80,
|
||||
0x7f,0x7f,0x7f,0x7e,0x7e,0x7d,0x7d,0x7d,
|
||||
0x7c,0x7c,0x7b,0x7b,0x7b,0x7b,0x7a,0x7a,
|
||||
0x79,0x79,0x79,0x78,0x78,0x77,0x77,0x77,
|
||||
0x77,0x76,0x76,0x75,0x75,0x75,0x75,0x74,
|
||||
0x74,0x74,0x73,0x73,0x73,0x72,0x72,0x72,
|
||||
0x72,0x71,0x71,0x71,0x70,0x70,0x70,0x6f,
|
||||
0x6f,0x6f,0x6f,0x6e,0x6e,0x6e,0x6e,0x6e,
|
||||
0x6d,0x6d,0x6d,0x6d,0x6c,0x6c,0x6c,0x6c,
|
||||
0x6c,0x6b,0x6b,0x6b,0x6b,0x6b,0x6a,0x6a,
|
||||
0x6a,0x6a,0x6a,0x6a,0x6a,0x69,0x69,0x69,
|
||||
0x69,0x69,0x69,0x69,0x69,0x68,0x68,0x68,
|
||||
0x68,0x68,0x68,0x68,0x68,0x68,0x68,0x68,
|
||||
0x68,0x67,0x67,0x67,0x67,0x67,0x67,0x67,
|
||||
0x67,0x67,0x67,0x67,0x67,0x67,0x67,0x67,
|
||||
0x67,0x67,0x67,0x67,0x67,0x67,0x67,0x67,
|
||||
0x67,0x67,0x67,0x67,0x68,0x68,0x68,0x68,
|
||||
0x68,0x68,0x68,0x68,0x68,0x68,0x68,0x68,
|
||||
0x68,0x69,0x69,0x69,0x69,0x69,0x69,0x69,
|
||||
0x69,0x6a,0x6a,0x6a,0x6a,0x6a,0x6a,0x6a,
|
||||
0x6b,0x6b,0x6b,0x6b,0x6b,0x6b,0x6c,0x6c,
|
||||
0x6c,0x6c,0x6c,0x6d,0x6d,0x6d,0x6d,0x6d,
|
||||
0x6d,0x6e,0x6e,0x6e,0x6e,0x6e,0x6f,0x6f,
|
||||
0x6f,0x6f,0x6f,0x70,0x70,0x70,0x70,0x71,
|
||||
0x71,0x71,0x71,0x72,0x72,0x72,0x72,0x73,
|
||||
0x73,0x73,0x73,0x73,0x74,0x74,0x74,0x74,
|
||||
0x75,0x75,0x75,0x76,0x76,0x76,0x76,0x77,
|
||||
0x77,0x77,0x77,0x77,0x78,0x78,0x79,0x79,
|
||||
0x79,0x79,0x79,0x7a,0x7a,0x7a,0x7a,0x7b,
|
||||
0x7b,0x7b,0x7c,0x7c,0x7c,0x7c,0x7c,0x7d,
|
||||
0x7d,0x7d,0x7e,0x7e,0x7e,0x7e,0x7f,0x7f,
|
||||
0x7f,0x80,0x80,0x80,0x80,0x80,0x80,0x80,
|
||||
0x80,0x80,0x81,0x81,0x81,0x82,0x82,0x82,
|
||||
0x82,0x82,0x83,0x83,0x83,0x83,0x84,0x84,
|
||||
0x84,0x84,0x84,0x85,0x85,0x85,0x86,0x86,
|
||||
0x86,0x86,0x87,0x87,0x87,0x87,0x87,0x88,
|
||||
0x88,0x88,0x88,0x88,0x89,0x89,0x89,0x89,
|
||||
0x89,0x89,0x8a,0x8a,0x8a,0x8a,0x8b,0x8b,
|
||||
0x8b,0x8b,0x8b,0x8b,0x8b,0x8c,0x8c,0x8c,
|
||||
0x8c,0x8d,0x8d,0x8d,0x8d,0x8d,0x8d,0x8d,
|
||||
0x8d,0x8e,0x8e,0x8e,0x8e,0x8e,0x8e,0x8e,
|
||||
0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,
|
||||
0x90,0x90,0x90,0x90,0x90,0x90,0x90,0x90,
|
||||
0x90,0x90,0x90,0x91,0x91,0x91,0x91,0x91,
|
||||
0x91,0x91,0x91,0x91,0x91,0x91,0x91,0x91,
|
||||
0x92,0x91,0x92,0x92,0x92,0x92,0x92,0x92,
|
||||
0x92,0x92,0x92,0x92,0x92,0x92,0x92,0x92,
|
||||
0x92,0x92,0x92,0x92,0x92,0x92,0x92,0x92,
|
||||
0x92,0x92,0x92,0x92,0x92,0x92,0x92,0x92,
|
||||
0x92,0x92,0x92,0x92,0x92,0x92,0x92,0x92,
|
||||
0x92,0x92,0x92,0x92,0x92,0x92,0x92,0x92,
|
||||
0x91,0x91,0x91,0x91,0x91,0x91,0x91,0x91,
|
||||
0x91,0x91,0x91,0x91,0x91,0x91,0x91,0x91,
|
||||
0x90,0x90,0x90,0x90,0x90,0x90,0x90,0x90,
|
||||
0x90,0x90,0x90,0x90,0x8f,0x8f,0x8f,0x8f,
|
||||
0x8f,0x8f,0x8f,0x8f,0x8f,0x8e,0x8e,0x8e,
|
||||
0x8e,0x8e,0x8e,0x8e,0x8e,0x8e,0x8d,0x8d,
|
||||
0x8d,0x8d,0x8d,0x8d,0x8d,0x8d,0x8d,0x8c,
|
||||
0x8c,0x8c,0x8c,0x8c,0x8c,0x8c,0x8b,0x8b,
|
||||
0x8b,0x8b,0x8b,0x8b,0x8b,0x8a,0x8a,0x8a,
|
||||
0x8a,0x8a,0x8a,0x8a,0x89,0x89,0x89,0x89,
|
||||
0x89,0x89,0x88,0x88,0x88,0x88,0x88,0x88,
|
||||
0x88,0x87,0x87,0x87,0x87,0x87,0x86,0x86,
|
||||
0x86,0x86,0x86,0x86,0x86,0x86,0x85,0x85,
|
||||
0x85,0x85,0x85,0x84,0x84,0x84,0x84,0x84,
|
||||
0x84,0x84,0x84,0x83,0x83,0x83,0x83,0x83,
|
||||
0x83,0x82,0x82,0x82,0x82,0x82,0x81,0x81,
|
||||
0x81,0x81,0x81,0x81,0x81,0x81,0x80,0x80,
|
||||
0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,
|
||||
0x80,0x80,0x80,0x7f,0x7f,0x7f,0x7f,0x7f,
|
||||
0x7f,0x7e,0x7e,0x7e,0x7e,0x7e,0x7e,0x7d,
|
||||
0x7e,0x7d,0x7d,0x7d,0x7d,0x7d,0x7d,0x7d,
|
||||
0x7d,0x7d,0x7d,0x7d,0x7d,0x7d,0x7d,0x7d,
|
||||
0x7d,0x7d,0x7d,0x7d,0x7d,0x7d,0x7d,0x7d,
|
||||
0x7d,0x7d,0x7d,0x7d,0x7d,0x7d,0x7e,0x7d,
|
||||
0x7d,0x7e,0x7e,0x7e,0x7e,0x7e,0x7e,0x7e,
|
||||
0x7e,0x7e,0x7e,0x7f,0x7f,0x7f,0x7f,0x7f,
|
||||
0x7f,0x7f,0x80,0x80,0x80,0x80,0x80,0x80,
|
||||
};
|
25
reactos/ntoskrnl/dbg/brkpoint.c
Normal file
25
reactos/ntoskrnl/dbg/brkpoint.c
Normal file
|
@ -0,0 +1,25 @@
|
|||
/*
|
||||
* COPYRIGHT: See COPYING in the top level directory
|
||||
* PROJECT: ReactOS kernel
|
||||
* FILE: ntoskrnl/dbg/brkpoints.c
|
||||
* PURPOSE: Handles breakpoints
|
||||
* PROGRAMMER: David Welch (welch@mcmail.com)
|
||||
* UPDATE HISTORY:
|
||||
* Created 22/05/98
|
||||
*/
|
||||
|
||||
/* INCLUDES *****************************************************************/
|
||||
|
||||
#include <internal/kernel.h>
|
||||
#include <internal/linkage.h>
|
||||
#include <ddk/ntddk.h>
|
||||
|
||||
#include <internal/debug.h>
|
||||
|
||||
/* FUNCTIONS *****************************************************************/
|
||||
|
||||
VOID DbgBreakPoint(VOID)
|
||||
{
|
||||
__asm__("int $3\n\t");
|
||||
}
|
||||
|
33
reactos/ntoskrnl/ex/callback.c
Normal file
33
reactos/ntoskrnl/ex/callback.c
Normal file
|
@ -0,0 +1,33 @@
|
|||
/*
|
||||
* COPYRIGHT: See COPYING in the top level directory
|
||||
* PROJECT: ReactOS kernel
|
||||
* FILE: ntoskrnl/ex/callback.c
|
||||
* PURPOSE: User callbacks
|
||||
* PROGRAMMER: David Welch (welch@mcmail.com)
|
||||
* UPDATE HISTORY:
|
||||
* Created 22/05/98
|
||||
*/
|
||||
|
||||
/* INCLUDES *****************************************************************/
|
||||
|
||||
#include <internal/kernel.h>
|
||||
#include <internal/linkage.h>
|
||||
#include <ddk/ntddk.h>
|
||||
|
||||
#include <internal/debug.h>
|
||||
|
||||
/* FUNCTIONS *****************************************************************/
|
||||
|
||||
VOID ExCallUserCallBack(PVOID fn)
|
||||
/*
|
||||
* FUNCTION: Transfer control to a user callback
|
||||
*/
|
||||
{
|
||||
}
|
||||
|
||||
VOID NtReturnFromCallBack(VOID)
|
||||
/*
|
||||
* FUNCTION: Returns from a user callback
|
||||
*/
|
||||
{
|
||||
}
|
125
reactos/ntoskrnl/io/fs.c
Normal file
125
reactos/ntoskrnl/io/fs.c
Normal file
|
@ -0,0 +1,125 @@
|
|||
/*
|
||||
* COPYRIGHT: See COPYING in the top level directory
|
||||
* PROJECT: ReactOS kernel
|
||||
* FILE: ntoskrnl/io/fs.c
|
||||
* PURPOSE: Filesystem functions
|
||||
* PROGRAMMER: David Welch (welch@mcmail.com)
|
||||
* UPDATE HISTORY:
|
||||
* Created 22/05/98
|
||||
*/
|
||||
|
||||
/* INCLUDES *****************************************************************/
|
||||
|
||||
#include <internal/kernel.h>
|
||||
#include <internal/linkage.h>
|
||||
#include <ddk/ntddk.h>
|
||||
|
||||
#include <internal/debug.h>
|
||||
|
||||
/* TYPES *******************************************************************/
|
||||
|
||||
typedef struct
|
||||
{
|
||||
PDEVICE_OBJECT DeviceObject;
|
||||
LIST_ENTRY Entry;
|
||||
} FILE_SYSTEM_OBJECT;
|
||||
|
||||
/* GLOBALS ******************************************************************/
|
||||
|
||||
static KSPIN_LOCK FileSystemListLock;
|
||||
static LIST_ENTRY FileSystemListHead;
|
||||
|
||||
/* FUNCTIONS *****************************************************************/
|
||||
|
||||
VOID IoInitFileSystemImplementation(VOID)
|
||||
{
|
||||
InitializeListHead(&FileSystemListHead);
|
||||
KeInitializeSpinLock(&FileSystemListLock);
|
||||
}
|
||||
|
||||
NTSTATUS IoAskFileSystemToMountDevice(PDEVICE_OBJECT DeviceObject)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
}
|
||||
|
||||
NTSTATUS IoAskFileSystemToLoad(PDEVICE_OBJECT DeviceObject)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
}
|
||||
|
||||
NTSTATUS IoTryToMountStorageDevice(PDEVICE_OBJECT DeviceObject)
|
||||
/*
|
||||
* FUNCTION: Trys to mount a storage device
|
||||
* ARGUMENTS:
|
||||
* DeviceObject = Device to try and mount
|
||||
* RETURNS: Status
|
||||
*/
|
||||
{
|
||||
KIRQL oldlvl;
|
||||
PLIST_ENTRY current_entry;
|
||||
FILE_SYSTEM_OBJECT* current;
|
||||
NTSTATUS Status;
|
||||
|
||||
KeAcquireSpinLock(&FileSystemListLock,&oldlvl);
|
||||
current_entry = FileSystemListHead.Flink;
|
||||
while (current_entry!=NULL)
|
||||
{
|
||||
current = CONTAINING_RECORD(current_entry,FILE_SYSTEM_OBJECT,Entry);
|
||||
Status = IoAskFileSystemToMountDevice(DeviceObject);
|
||||
switch (Status)
|
||||
{
|
||||
case STATUS_FS_DRIVER_REQUIRED:
|
||||
KeReleaseSpinLock(&FileSystemListLock,oldlvl);
|
||||
(void)IoAskFileSystemToLoad(DeviceObject);
|
||||
KeAcquireSpinLock(&FileSystemListLock,&oldlvl);
|
||||
current_entry = FileSystemListHead.Flink;
|
||||
break;
|
||||
|
||||
case STATUS_SUCCESS:
|
||||
KeReleaseSpinLock(&FileSystemListLock,oldlvl);
|
||||
return(STATUS_SUCCESS);
|
||||
|
||||
case STATUS_UNRECOGNIZED_VOLUME:
|
||||
default:
|
||||
current_entry = current_entry->Flink;
|
||||
}
|
||||
}
|
||||
KeReleaseSpinLock(&FileSystemListLock,oldlvl);
|
||||
return(STATUS_UNRECOGNIZED_VOLUME);
|
||||
}
|
||||
|
||||
VOID IoRegisterFileSystem(PDEVICE_OBJECT DeviceObject)
|
||||
{
|
||||
FILE_SYSTEM_OBJECT* fs;
|
||||
|
||||
fs=ExAllocatePool(NonPagedPool,sizeof(FILE_SYSTEM_OBJECT));
|
||||
assert(fs!=NULL);
|
||||
|
||||
fs->DeviceObject = DeviceObject;
|
||||
ExInterlockedInsertTailList(&FileSystemListHead,&fs->Entry,
|
||||
&FileSystemListLock);
|
||||
}
|
||||
|
||||
VOID IoUnregisterFileSystem(PDEVICE_OBJECT DeviceObject)
|
||||
{
|
||||
KIRQL oldlvl;
|
||||
PLIST_ENTRY current_entry;
|
||||
FILE_SYSTEM_OBJECT* current;
|
||||
|
||||
KeAcquireSpinLock(&FileSystemListLock,&oldlvl);
|
||||
current_entry = FileSystemListHead.Flink;
|
||||
while (current_entry!=NULL)
|
||||
{
|
||||
current = CONTAINING_RECORD(current_entry,FILE_SYSTEM_OBJECT,Entry);
|
||||
if (current->DeviceObject == DeviceObject)
|
||||
{
|
||||
RemoveEntryFromList(&FileSystemListHead,current_entry);
|
||||
KeReleaseSpinLock(&FileSystemListLock,oldlvl);
|
||||
return;
|
||||
}
|
||||
current_entry = current_entry->Flink;
|
||||
}
|
||||
KeReleaseSpinLock(&FileSystemListLock,oldlvl);
|
||||
}
|
||||
|
||||
|
2837
reactos/ntoskrnl/kernel.sym
Normal file
2837
reactos/ntoskrnl/kernel.sym
Normal file
File diff suppressed because it is too large
Load diff
53
reactos/ntoskrnl/ldr/loader.c
Normal file
53
reactos/ntoskrnl/ldr/loader.c
Normal file
|
@ -0,0 +1,53 @@
|
|||
/*
|
||||
* COPYRIGHT: See COPYING in the top level directory
|
||||
* PROJECT: ReactOS kernel
|
||||
* FILE: ntoskrnl/ldr/loader.c
|
||||
* PURPOSE: Loaders for PE executables
|
||||
* PROGRAMMER: David Welch (welch@mcmail.com)
|
||||
* UPDATE HISTORY:
|
||||
* Created 22/05/98
|
||||
*/
|
||||
|
||||
/* INCLUDES *****************************************************************/
|
||||
|
||||
#include <internal/kernel.h>
|
||||
#include <internal/linkage.h>
|
||||
#include <ddk/ntddk.h>
|
||||
|
||||
#include <internal/debug.h>
|
||||
#include "pe.h"
|
||||
|
||||
/* FUNCTIONS *****************************************************************/
|
||||
|
||||
NTSTATUS LdrProcessImage(HANDLE SectionHandle, PVOID BaseAddress)
|
||||
{
|
||||
PIMAGE_DOS_HEADER dos_hdr = (PIMAGE_DOS_HEADER)BaseAddress;
|
||||
PIMAGE_NT_HEADERS hdr = (PIMAGE_NT_HEADERS)(BaseAddress
|
||||
+ dos_hdr->e_lfanew);
|
||||
PIMAGE_SECTION_HEADER sections = (PIMAGE_SECTION_HEADER)(BaseAddress
|
||||
+ dos_hdr->e_lfanew
|
||||
+ sizeof(IMAGE_NT_HEADERS));
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
NTSTATUS LdrLoadDriver(PUNICODE_STRING FileName)
|
||||
/*
|
||||
* FUNCTION: Loads a PE executable into the current process
|
||||
* ARGUMENTS:
|
||||
* FileName = Driver to load
|
||||
* RETURNS: Status
|
||||
*/
|
||||
{
|
||||
}
|
||||
|
||||
NTSTATUS LdrLoadImage(PUNICODE_STRING FileName)
|
||||
/*
|
||||
* FUNCTION: Loads a PE executable into the current process
|
||||
* ARGUMENTS:
|
||||
* FileName = File to load
|
||||
* RETURNS: Status
|
||||
*/
|
||||
{
|
||||
}
|
25
reactos/ntoskrnl/rtl/return.c
Normal file
25
reactos/ntoskrnl/rtl/return.c
Normal file
|
@ -0,0 +1,25 @@
|
|||
/*
|
||||
* COPYRIGHT: See COPYING in the top level directory
|
||||
* PROJECT: ReactOS kernel
|
||||
* FILE: kernel/base/bug.c
|
||||
* PURPOSE: Graceful system shutdown if a bug is detected
|
||||
* PROGRAMMER: David Welch (welch@mcmail.com)
|
||||
* UPDATE HISTORY:
|
||||
* Created 22/05/98
|
||||
*/
|
||||
|
||||
/* INCLUDES *****************************************************************/
|
||||
|
||||
#include <internal/kernel.h>
|
||||
#include <internal/linkage.h>
|
||||
#include <ddk/ntddk.h>
|
||||
|
||||
#include <internal/debug.h>
|
||||
|
||||
/* FUNCTIONS *****************************************************************/
|
||||
|
||||
VOID RtlGetCallersAddress(PVOID* CallersAddress)
|
||||
{
|
||||
PULONG stk = (PULONG)(&CallersAddress);
|
||||
*CallersAddress = stk[-1];
|
||||
}
|
574
reactos/ntoskrnl/rtl/wstring.c
Normal file
574
reactos/ntoskrnl/rtl/wstring.c
Normal file
|
@ -0,0 +1,574 @@
|
|||
/*
|
||||
* COPYRIGHT: See COPYING in the top level directory
|
||||
* PROJECT: ReactOS kernel
|
||||
* FILE: ntoskrnl/ke/wstring.c
|
||||
* PURPOSE: Wide string functions
|
||||
* PROGRAMMER: David Welch (welch@mcmail.com)
|
||||
* UPDATE HISTORY:
|
||||
* Created 22/05/98
|
||||
*/
|
||||
|
||||
/* INCLUDES *****************************************************************/
|
||||
|
||||
#include <internal/kernel.h>
|
||||
#include <internal/linkage.h>
|
||||
#include <ddk/ntddk.h>
|
||||
#include <wstring.h>
|
||||
|
||||
#include <internal/debug.h>
|
||||
|
||||
/* FUNCTIONS *****************************************************************/
|
||||
|
||||
wchar_t* wcsrchr(const wchar_t* str, wchar_t ch)
|
||||
{
|
||||
unsigned int len = 0;
|
||||
while (str[len]!=((wchar_t)0))
|
||||
{
|
||||
len++;
|
||||
}
|
||||
|
||||
for (;len>0;len--)
|
||||
{
|
||||
if (str[len-1]==ch)
|
||||
{
|
||||
return(&str[len-1]);
|
||||
}
|
||||
}
|
||||
return(NULL);
|
||||
}
|
||||
|
||||
wchar_t* wcschr(wchar_t* str, wchar_t ch)
|
||||
{
|
||||
while ((*str)!=((wchar_t)0))
|
||||
{
|
||||
if ((*str)==ch)
|
||||
{
|
||||
return(str);
|
||||
}
|
||||
str++;
|
||||
}
|
||||
return(NULL);
|
||||
}
|
||||
|
||||
wchar_t * wcscpy(wchar_t * str1,const wchar_t * str2)
|
||||
{
|
||||
while ( (*str1)==(*str2) )
|
||||
{
|
||||
str1++;
|
||||
str2++;
|
||||
if ( (*str1)==((wchar_t)0) && (*str1)==((wchar_t)0) )
|
||||
{
|
||||
return(0);
|
||||
}
|
||||
}
|
||||
return( (*str1) - (*str2) );
|
||||
}
|
||||
|
||||
unsigned long wstrlen(PWSTR s)
|
||||
{
|
||||
WCHAR c=' ';
|
||||
unsigned int len=0;
|
||||
|
||||
while(c!=0) {
|
||||
c=*s;
|
||||
s++;
|
||||
len++;
|
||||
};
|
||||
s-=len;
|
||||
|
||||
return len-1;
|
||||
}
|
||||
|
||||
inline int wcscmp(const wchar_t* cs,const wchar_t * ct)
|
||||
{
|
||||
register int __res;
|
||||
__asm__ __volatile__(
|
||||
"cld\n"
|
||||
"1:\tlodsw\n\t"
|
||||
"scasw\n\t"
|
||||
"jne 2f\n\t"
|
||||
"testw %%eax,%%eax\n\t"
|
||||
"jne 1b\n\t"
|
||||
"xorl %%eax,%%eax\n\t"
|
||||
"jmp 3f\n"
|
||||
"2:\tsbbl %%eax,%%eax\n\t"
|
||||
"orw $1,%%eax\n"
|
||||
"3:"
|
||||
:"=a" (__res):"S" (cs),"D" (ct):"esi","edi");
|
||||
return __res;
|
||||
}
|
||||
|
||||
#ifdef __MACHINE_STRING_FUNCTIONS
|
||||
/*
|
||||
* Include machine specific inline routines
|
||||
*/
|
||||
//#ifndef _I386_STRING_H_
|
||||
//#define _I386_STRING_H_
|
||||
|
||||
/*
|
||||
* On a 486 or Pentium, we are better off not using the
|
||||
* byte string operations. But on a 386 or a PPro the
|
||||
* byte string ops are faster than doing it by hand
|
||||
* (MUCH faster on a Pentium).
|
||||
*
|
||||
* Also, the byte strings actually work correctly. Forget
|
||||
* the i486 routines for now as they may be broken..
|
||||
*/
|
||||
|
||||
#if FIXED_486_STRING && (CPU == 486 || CPU == 586)
|
||||
#include <asm/string-486.h>
|
||||
#else
|
||||
|
||||
/*
|
||||
* This string-include defines all string functions as inline
|
||||
* functions. Use gcc. It also assumes ds=es=data space, this should be
|
||||
* normal. Most of the string-functions are rather heavily hand-optimized,
|
||||
* see especially wcstok,wcsstr,wcs[c]spn. They should work, but are not
|
||||
* very easy to understand. Everything is done entirely within the register
|
||||
* set, making the functions fast and clean. String instructions have been
|
||||
* used through-out, making for "slightly" unclear code :-)
|
||||
*
|
||||
* Copyright (C) 1991, 1992 Linus Torvalds
|
||||
*/
|
||||
|
||||
|
||||
|
||||
#define __HAVE_ARCH_WCSCPY
|
||||
extern inline wchar_t * wcscpy(wchar_t * dest,const wchar_t *src)
|
||||
{
|
||||
__asm__ __volatile__(
|
||||
"cld\n"
|
||||
"1:\tlodsw\n\t"
|
||||
"stosw\n\t"
|
||||
"testw %%eax,%%eax\n\t"
|
||||
"jne 1b"
|
||||
: /* no output */
|
||||
:"S" (src),"D" (dest):"esi","edi","eax","memory");
|
||||
return dest;
|
||||
}
|
||||
|
||||
#define __HAVE_ARCH_WCSNCPY
|
||||
inline wchar_t * wcsncpy(wchar_t * dest,const wchar_t *src,size_t count)
|
||||
{
|
||||
__asm__ __volatile__(
|
||||
"cld\n"
|
||||
"1:\tdecl %2\n\t"
|
||||
"js 2f\n\t"
|
||||
"lodsw\n\t"
|
||||
"stosw\n\t"
|
||||
"testw %%eax,%%eax\n\t"
|
||||
"jne 1b\n\t"
|
||||
"rep\n\t"
|
||||
"stosw\n"
|
||||
"2:"
|
||||
: /* no output */
|
||||
:"S" (src),"D" (dest),"c" (count):"esi","edi","eax","ecx","memory");
|
||||
return dest;
|
||||
}
|
||||
|
||||
#define __HAVE_ARCH_WCSCAT
|
||||
inline wchar_t * wcscat(wchar_t * dest,const wchar_t * src)
|
||||
{
|
||||
__asm__ __volatile__(
|
||||
"cld\n\t"
|
||||
"repnz\n\t"
|
||||
"scasw\n\t"
|
||||
"decl %1\n"
|
||||
"decl %1\n\t"
|
||||
"1:\tlodsw\n\t"
|
||||
"stosw\n\t"
|
||||
"testw %%eax,%%eax\n\t"
|
||||
"jne 1b"
|
||||
: /* no output */
|
||||
:"S" (src),"D" (dest),"a" (0),"c" (0xffffffff):"esi","edi","eax","ecx");
|
||||
return dest;
|
||||
}
|
||||
|
||||
#define __HAVE_ARCH_WCSNCAT
|
||||
inline wchar_t * wcsncat(wchar_t * dest,const wchar_t * src,size_t count)
|
||||
{
|
||||
__asm__ __volatile__(
|
||||
"cld\n\t"
|
||||
"repnz\n\t"
|
||||
"scasw\n\t"
|
||||
"decl %1\n\t"
|
||||
"movl %4,%3\n"
|
||||
"decl %1\n\t"
|
||||
"1:\tdecl %3\n\t"
|
||||
"js 2f\n\t"
|
||||
"lodsw\n\t"
|
||||
"stosw\n\t"
|
||||
"testw %%eax,%%eax\n\t"
|
||||
"jne 1b\n"
|
||||
"2:\txorl %2,%2\n\t"
|
||||
"stosw"
|
||||
: /* no output */
|
||||
:"S" (src),"D" (dest),"a" (0),"c" (0xffffffff),"g" (count)
|
||||
:"esi","edi","eax","ecx","memory");
|
||||
return dest;
|
||||
}
|
||||
|
||||
#define __HAVE_ARCH_WCSCMP
|
||||
|
||||
#define __HAVE_ARCH_WCSNCMP
|
||||
inline int wcsncmp(const wchar_t * cs,const wchar_t * ct,size_t count)
|
||||
{
|
||||
register int __res;
|
||||
__asm__ __volatile__(
|
||||
"cld\n"
|
||||
"1:\tdecl %3\n\t"
|
||||
"js 2f\n\t"
|
||||
"lodsw\n\t"
|
||||
"scasw\n\t"
|
||||
"jne 3f\n\t"
|
||||
"testw %%eax,%%eax\n\t"
|
||||
"jne 1b\n"
|
||||
"2:\txorl %%eax,%%eax\n\t"
|
||||
"jmp 4f\n"
|
||||
"3:\tsbbl %%eax,%%eax\n\t"
|
||||
"orw $1,%%eax\n"
|
||||
"4:"
|
||||
:"=a" (__res):"S" (cs),"D" (ct),"c" (count):"esi","edi","ecx");
|
||||
return __res;
|
||||
}
|
||||
|
||||
#define __HAVE_ARCH_WCSCHR
|
||||
inline wchar_t * wcschr(const wchar_t * s, int c)
|
||||
{
|
||||
register wchar_t * __res;
|
||||
__asm__ __volatile__(
|
||||
"cld\n\t"
|
||||
"movw %%eax,%%edx\n"
|
||||
"1:\tlodsw\n\t"
|
||||
"cmpw %%edx,%%eax\n\t"
|
||||
"je 2f\n\t"
|
||||
"testw %%eax,%%eax\n\t"
|
||||
"jne 1b\n\t"
|
||||
"movl $1,%1\n"
|
||||
"2:\tmovl %1,%0\n\t"
|
||||
"decl %0\n\t"
|
||||
"decl %0\n\t"
|
||||
:"=a" (__res):"S" (s),"0" (c):"esi");
|
||||
return __res;
|
||||
}
|
||||
|
||||
#define __HAVE_ARCH_WCSRCHR
|
||||
inline wchar_t * wcsrchr(const wchar_t * s, int c)
|
||||
{
|
||||
register wchar_t * __res;
|
||||
__asm__ __volatile__(
|
||||
"cld\n\t"
|
||||
"movw %%eax,%%edx\n"
|
||||
"1:\tlodsw\n\t"
|
||||
"cmpw %%edx,%%eax\n\t"
|
||||
"jne 2f\n\t"
|
||||
"leal -2(%%esi),%0\n"
|
||||
"2:\ttestw %%eax,%%eax\n\t"
|
||||
"jne 1b"
|
||||
:"=d" (__res):"0" (0),"S" (s),"a" (c):"eax","esi");
|
||||
return __res;
|
||||
}
|
||||
|
||||
#define __HAVE_ARCH_WCSSPN
|
||||
inline size_t wcsspn(const wchar_t * cs, const wchar_t * ct)
|
||||
{
|
||||
register wchar_t * __res;
|
||||
__asm__ __volatile__(
|
||||
"cld\n\t"
|
||||
"movl %4,%%edi\n\t"
|
||||
"repne\n\t"
|
||||
"scasw\n\t"
|
||||
"notl %%ecx\n\t"
|
||||
"decl %%ecx\n\t"
|
||||
"movl %%ecx,%%edx\n"
|
||||
"1:\tlodsw\n\t"
|
||||
"testw %%eax,%%eax\n\t"
|
||||
"je 2f\n\t"
|
||||
"movl %4,%%edi\n\t"
|
||||
"movl %%edx,%%ecx\n\t"
|
||||
"repne\n\t"
|
||||
"scasb\n\t"
|
||||
"je 1b\n"
|
||||
"2:\tdecl %0"
|
||||
:"=S" (__res):"a" (0),"c" (0xffffffff),"0" (cs),"g" (ct)
|
||||
:"eax","ecx","edx","edi");
|
||||
return __res-cs;
|
||||
}
|
||||
|
||||
#define __HAVE_ARCH_WCSCSPN
|
||||
inline size_t wcscspn(const wchar_t * cs, const wchar_t * ct)
|
||||
{
|
||||
register wchar_t * __res;
|
||||
__asm__ __volatile__(
|
||||
"cld\n\t"
|
||||
"movl %4,%%edi\n\t"
|
||||
"repne\n\t"
|
||||
"scasw\n\t"
|
||||
"notl %%ecx\n\t"
|
||||
"decl %%ecx\n\t"
|
||||
"movl %%ecx,%%edx\n"
|
||||
"1:\tlodsw\n\t"
|
||||
"testw %%eax,%%eax\n\t"
|
||||
"je 2f\n\t"
|
||||
"movl %4,%%edi\n\t"
|
||||
"movl %%edx,%%ecx\n\t"
|
||||
"repne\n\t"
|
||||
"scasw\n\t"
|
||||
"jne 1b\n"
|
||||
"2:\tdecl %0"
|
||||
:"=S" (__res):"a" (0),"c" (0xffffffff),"0" (cs),"g" (ct)
|
||||
:"eax","ecx","edx","edi");
|
||||
return __res-cs;
|
||||
}
|
||||
|
||||
#define __HAVE_ARCH_STRPBRK
|
||||
inline wchar_t * wcspbrk(const wchar_t * cs,const wchar_t * ct)
|
||||
{
|
||||
register wchar_t * __res;
|
||||
__asm__ __volatile__(
|
||||
"cld\n\t"
|
||||
"movl %4,%%edi\n\t"
|
||||
"repne\n\t"
|
||||
"scasw\n\t"
|
||||
"notl %%ecx\n\t"
|
||||
"decl %%ecx\n\t"
|
||||
"movl %%ecx,%%edx\n"
|
||||
"1:\tlodsw\n\t"
|
||||
"testw %%eax,%%eax\n\t"
|
||||
"je 2f\n\t"
|
||||
"movl %4,%%edi\n\t"
|
||||
"movl %%edx,%%ecx\n\t"
|
||||
"repne\n\t"
|
||||
"scasw\n\t"
|
||||
"jne 1b\n\t"
|
||||
"decl %0\n\t"
|
||||
"jmp 3f\n"
|
||||
"2:\txorl %0,%0\n"
|
||||
"3:"
|
||||
:"=S" (__res):"a" (0),"c" (0xffffffff),"0" (cs),"g" (ct)
|
||||
:"eax","ecx","edx","edi");
|
||||
return __res;
|
||||
}
|
||||
|
||||
#define __HAVE_ARCH_WCSSTR
|
||||
inline wchar_t * wcsstr(const wchar_t * cs,const wchar_t * ct)
|
||||
{
|
||||
register wchar_t * __res;
|
||||
__asm__ __volatile__(
|
||||
"cld\n\t" \
|
||||
"movl %4,%%edi\n\t"
|
||||
"repne\n\t"
|
||||
"scasw\n\t"
|
||||
"notl %%ecx\n\t"
|
||||
"decl %%ecx\n\t" /* NOTE! This also sets Z if searchstring='' */
|
||||
"movl %%ecx,%%edx\n"
|
||||
"1:\tmovl %4,%%edi\n\t"
|
||||
"movl %%esi,%%eax\n\t"
|
||||
"movl %%edx,%%ecx\n\t"
|
||||
"repe\n\t"
|
||||
"cmpsw\n\t"
|
||||
"je 2f\n\t" /* also works for empty string, see above */
|
||||
"xchgl %%eax,%%esi\n\t"
|
||||
"incl %%esi\n\t"
|
||||
"cmpw $0,-1(%%eax)\n\t"
|
||||
"jne 1b\n\t"
|
||||
"xorl %%eax,%%eax\n\t"
|
||||
"2:"
|
||||
:"=a" (__res):"0" (0),"c" (0xffffffff),"S" (cs),"g" (ct)
|
||||
:"ecx","edx","edi","esi");
|
||||
return __res;
|
||||
}
|
||||
|
||||
|
||||
#define __HAVE_ARCH_WCSLEN
|
||||
inline size_t wcslen(const wchar_t * s)
|
||||
{
|
||||
register int __res;
|
||||
__asm__ __volatile__(
|
||||
"cld\n\t"
|
||||
"repne\n\t"
|
||||
"scasw\n\t"
|
||||
"notl %0\n\t"
|
||||
"decl %0"
|
||||
:"=c" (__res):"D" (s),"a" (0),"0" (0xffffffff):"edi");
|
||||
return __res;
|
||||
}
|
||||
|
||||
|
||||
|
||||
#define __HAVE_ARCH_WCSTOK
|
||||
|
||||
|
||||
inline wchar_t * wcstok(wchar_t * s,const wchar_t * ct)
|
||||
{
|
||||
|
||||
register wchar_t * __res;
|
||||
__asm__ __volatile__(
|
||||
"testl %1,%1\n\t"
|
||||
"jne 1f\n\t"
|
||||
"testl %0,%0\n\t"
|
||||
"je 8f\n\t"
|
||||
"movl %0,%1\n"
|
||||
"1:\txorl %0,%0\n\t"
|
||||
"movl $-1,%%ecx\n\t"
|
||||
"xorl %%eax,%%eax\n\t"
|
||||
"cld\n\t"
|
||||
"movl %4,%%edi\n\t"
|
||||
"repnz\n\t"
|
||||
"scasw\n\t"
|
||||
"notl %%ecx\n\t"
|
||||
"decl %%ecx\n\t"
|
||||
"decl %%ecx\n\t"
|
||||
"je 7f\n\t" /* empty delimiter-string */
|
||||
"movl %%ecx,%%edx\n"
|
||||
"2:\tlodsw\n\t"
|
||||
"testw %%eax,%%eax\n\t"
|
||||
"je 7f\n\t"
|
||||
"movl %4,%%edi\n\t"
|
||||
"movl %%edx,%%ecx\n\t"
|
||||
"repne\n\t"
|
||||
"scasw\n\t"
|
||||
"je 2b\n\t"
|
||||
"decl %1\n\t"
|
||||
"decl %1\n\t"
|
||||
"cmpw $0,(%1)\n\t"
|
||||
"je 7f\n\t"
|
||||
"movl %1,%0\n"
|
||||
"3:\tlodsw\n\t"
|
||||
"testw %%eax,%%eax\n\t"
|
||||
"je 5f\n\t"
|
||||
"movl %4,%%edi\n\t"
|
||||
"movl %%edx,%%ecx\n\t"
|
||||
"repne\n\t"
|
||||
"scasw\n\t"
|
||||
"jne 3b\n\t"
|
||||
"decl %1\n\t"
|
||||
"decl %1\n\t"
|
||||
"decl %1\n\t"
|
||||
"decl %1\n\t"
|
||||
"cmpw $0,(%1)\n\t"
|
||||
"je 5f\n\t"
|
||||
"movw $0,(%1)\n\t"
|
||||
"incl %1\n\t"
|
||||
"incl %1\n\t"
|
||||
"jmp 6f\n"
|
||||
"5:\txorl %1,%1\n"
|
||||
"6:\tcmpw $0,(%0)\n\t"
|
||||
"jne 7f\n\t"
|
||||
"xorl %0,%0\n"
|
||||
"7:\ttestl %0,%0\n\t"
|
||||
"jne 8f\n\t"
|
||||
"movl %0,%1\n"
|
||||
"8:"
|
||||
:"=b" (__res),"=S" (___wcstok)
|
||||
:"0" (___wcstok),"1" (s),"g" (ct)
|
||||
:"eax","ecx","edx","edi","memory");
|
||||
|
||||
return __res;
|
||||
}
|
||||
|
||||
|
||||
#define __HAVE_ARCH_WCSNNLEN
|
||||
inline size_t wcsnlen(const wchar_t * s, size_t count)
|
||||
{
|
||||
register int __res;
|
||||
__asm__ __volatile__(
|
||||
"movl %1,%0\n\t"
|
||||
"jmp 2f\n"
|
||||
"1:\tcmpw $0,(%0)\n\t"
|
||||
"je 3f\n\t"
|
||||
"incl %0\n"
|
||||
"2:\tdecl %2\n\t"
|
||||
"cmpl $-1,%2\n\t"
|
||||
"jne 1b\n"
|
||||
"3:\tsubl %1,%0"
|
||||
:"=a" (__res)
|
||||
:"c" (s),"d" (count)
|
||||
:"edx");
|
||||
return __res;
|
||||
}
|
||||
|
||||
|
||||
|
||||
#define __HAVE_ARCH_WCSICMP
|
||||
inline int wcsicmp(const wchar_t* cs,const wchar_t * ct)
|
||||
{
|
||||
register int __res;
|
||||
|
||||
|
||||
__asm__ __volatile__(
|
||||
"cld\n"
|
||||
"1:\tmovw (%%esi), %%eax\n\t"
|
||||
"movw (%%edi), %%edx \n\t"
|
||||
"cmpw $0x5A, %%eax\n\t"
|
||||
"ja 2f\t\n"
|
||||
"cmpw $0x40, %%eax\t\n"
|
||||
"jbe 2f\t\n"
|
||||
"addw $0x20, %%eax\t\n"
|
||||
"2:\t cmpw $0x5A, %%edx\t\n"
|
||||
"ja 3f\t\n"
|
||||
"cmpw $0x40, %%edx\t\n"
|
||||
"jbe 3f\t\n"
|
||||
"addw $0x20, %%edx\t\n"
|
||||
"3:\t inc %%esi\t\n"
|
||||
"inc %%esi\t\n"
|
||||
"inc %%edi\t\n"
|
||||
"inc %%edi\t\n"
|
||||
"cmpw %%eax, %%edx\t\n"
|
||||
"jne 4f\n\t"
|
||||
"cmpw $00, %%eax\n\t"
|
||||
"jne 1b\n\t"
|
||||
"xorl %%eax,%%eax\n\t"
|
||||
"jmp 5f\n"
|
||||
"4:\tsbbl %%eax,%%eax\n\t"
|
||||
"orw $1,%%eax\n"
|
||||
"5:"
|
||||
:"=a" (__res):"S" (cs),"D" (ct):"esi","edi");
|
||||
|
||||
return __res;
|
||||
}
|
||||
|
||||
|
||||
#define __HAVE_ARCH_WCSNICMP
|
||||
inline int wcsnicmp(const wchar_t* cs,const wchar_t * ct, size_t count)
|
||||
{
|
||||
register int __res;
|
||||
|
||||
|
||||
__asm__ __volatile__(
|
||||
"cld\n"
|
||||
"1:\t decl %3\n\t"
|
||||
"js 6f\n\t"
|
||||
"movw (%%esi), %%eax\n\t"
|
||||
"movw (%%edi), %%edx \n\t"
|
||||
"cmpw $0x5A, %%eax\n\t"
|
||||
"ja 2f\t\n"
|
||||
"cmpw $0x40, %%eax\t\n"
|
||||
"jbe 2f\t\n"
|
||||
"addw $0x20, %%eax\t\n"
|
||||
"2:\t cmpw $0x5A, %%edx\t\n"
|
||||
"ja 3f\t\n"
|
||||
"cmpw $0x40, %%edx\t\n"
|
||||
"jbe 3f\t\n"
|
||||
"addw $0x20, %%edx\t\n"
|
||||
"3:\t inc %%esi\t\n"
|
||||
"inc %%esi\t\n"
|
||||
"inc %%edi\t\n"
|
||||
"inc %%edi\t\n"
|
||||
"cmpw %%eax, %%edx\t\n"
|
||||
"jne 4f\n\t"
|
||||
"cmpw $00, %%eax\n\t"
|
||||
"jne 1b\n\t"
|
||||
"6:xorl %%eax,%%eax\n\t"
|
||||
"jmp 5f\n"
|
||||
"4:\tsbbl %%eax,%%eax\n\t"
|
||||
"orw $1,%%eax\n"
|
||||
"5:"
|
||||
:"=a" (__res):"S" (cs),"D" (ct), "c" (count):"esi","edi", "ecx");
|
||||
|
||||
|
||||
return __res;
|
||||
}
|
||||
|
||||
#endif
|
||||
#endif
|
111
reactos/ntoskrnl/tst/sshell.c
Normal file
111
reactos/ntoskrnl/tst/sshell.c
Normal file
|
@ -0,0 +1,111 @@
|
|||
/*
|
||||
* COPYRIGHT: See COPYING in the top level directory
|
||||
* PROJECT: ReactOS kernel
|
||||
* FILE: ntoskrnl/tst/sshell.c
|
||||
* PURPOSE: Simple kernel mode shell
|
||||
* PROGRAMMER: David Welch (welch@mcmail.com)
|
||||
* UPDATE HISTORY:
|
||||
* 28/05/98: Created
|
||||
*/
|
||||
|
||||
/* INCLUDES *****************************************************************/
|
||||
|
||||
#include <windows.h>
|
||||
#include <ddk/ntddk.h>
|
||||
#include <internal/kernel.h>
|
||||
#include <internal/string.h>
|
||||
|
||||
#define NDEBUG
|
||||
#include <internal/debug.h>
|
||||
|
||||
#include <in.h>
|
||||
|
||||
int ShellChangeDir(char* args);
|
||||
int ShellListDir(char* args);
|
||||
|
||||
/* GLOBALS ******************************************************************/
|
||||
|
||||
static HANDLE CurrentDirHandle;
|
||||
static UNICODE_STRING CurrentDirName;
|
||||
static HANDLE KeyboardHandle;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
char* name;
|
||||
int (*fn)(char* args);
|
||||
} command;
|
||||
|
||||
command commands[]=
|
||||
{
|
||||
{"cd",ShellChangeDir},
|
||||
{"dir",ShellListDir},
|
||||
{NULL,NULL},
|
||||
};
|
||||
|
||||
/* FUNCTIONS ****************************************************************/
|
||||
|
||||
int ShellChangeDir(char* args)
|
||||
{
|
||||
}
|
||||
|
||||
int ShellListDir(char* args)
|
||||
{
|
||||
}
|
||||
|
||||
VOID ShellDisplayPrompt()
|
||||
{
|
||||
printk("%w# ",CurrentDirName->Buffer);
|
||||
}
|
||||
|
||||
VOID ShellGetCommand(char* cmd)
|
||||
{
|
||||
do
|
||||
{
|
||||
ZwReadFile(hfile,NULL,NULL,NULL,NULL,cmd,1,0,0);
|
||||
printk("%c",*cmd);
|
||||
cmd++;
|
||||
} while((*cmd)!='\n');
|
||||
*cmd=0;
|
||||
}
|
||||
|
||||
VOID ShellProcessCommand(char* cmd)
|
||||
{
|
||||
unsigned int i=0;
|
||||
while (commands[i].name!=NULL)
|
||||
{
|
||||
if (strncmp(cmd,commands[i].name,strlen(commands[i].name))==0)
|
||||
{
|
||||
commands[i].fn(cmd+strlen(commands[i].name));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
NTSTATUS TstShell(VOID)
|
||||
{
|
||||
ANSI_STRING astr;
|
||||
ANSI_STRING afilename;
|
||||
UNICODE_STRING ufilename;
|
||||
OBJECT_ATTRIBUTES attr;
|
||||
char cmd[255];
|
||||
|
||||
RtlInitAnsiString(&astr,"\\");
|
||||
RtlAnsiStringToUnicodeString(&CurrentDirName,&astr,TRUE);
|
||||
|
||||
RtlInitAnsiString(&afilename,"\\");
|
||||
RtlAnsiStringToUnicodeString(&ufilename,&afilename,TRUE);
|
||||
InitializeObjectAttributes(&attr,&ufilename,0,NULL,NULL);
|
||||
ZwOpenDirectoryObject(&CurrentDirHandle,0,&attr);
|
||||
|
||||
RtlInitAnsiString(&afilename,"\\Device\\Keyboard");
|
||||
RtlAnsiStringToUnicodeString(&ufilename,&afilename,TRUE);
|
||||
InitializeObjectAttributes(&attr,&ufilename,0,NULL,NULL);
|
||||
ZwOpenFile(&KeyboardHandle,0,&attr,NULL,0,0);
|
||||
|
||||
|
||||
for(;;)
|
||||
{
|
||||
ShellDisplayPrompt();
|
||||
ShellGetCommand(cmd);
|
||||
ShellProcessCommand(cmd);
|
||||
}
|
||||
}
|
Loading…
Reference in a new issue