Giter Site home page Giter Site logo
  • bhartik021 / sde-interview-materials

    CS-Notes, An repository that contains all the Data Structures and Algorithms Notes, CS Fundamentals Notes, Web-development Notes, SDE Sheets, Star-approach for an Interview and Interview questions. The main aim of this repository is to help students who are preparing for an interview.

    From user bhartik021

  • copoile / guide

    CS-Notes, 该项目不写任何代码,只用于收藏GitHub上知名开源仓库,便于资料的查找以及学习。advanced-java,互联网 Java 工程师进阶知识完全扫盲 miaosha,互联网java秒杀系统的设计与架构 springboot-demo聚集地 JavaGuide,一份涵盖大部分Java程序员所需要掌握的核心知识 CS-Notes,Tech Interview Guide 技术面试必备基础知识 33-js-concepts,JavaScript开发者应懂的33个概念 vue-element-admin,一个vue全家桶+element-ui的后台前端解决方案 vue-awesome-swiper,vue轮播图解决方案 Vue-Quill-Editor,基于Quill适用于Vue2的富文本编辑器 vue-baidu-map,基于vue2.x百度地图组件

    From user copoile

  • denman2328 / help

    CS-Notes, ------------------ System Information ------------------ Time of this report: 8/10/2013, 08:36:20 Machine name: BRYCE-PC Operating System: Windows 8 Pro 64-bit (6.2, Build 9200) (9200.win8_rtm.120725-1247) Language: English (Regional Setting: English) System Manufacturer: To Be Filled By O.E.M. System Model: To Be Filled By O.E.M. BIOS: BIOS Date: 04/13/12 20:22:30 Ver: 04.06.05 Processor: Intel(R) Core(TM) i5-3570K CPU @ 3.40GHz (4 CPUs), ~3.4GHz Memory: 8192MB RAM Available OS Memory: 8086MB RAM Page File: 4736MB used, 11541MB available Windows Dir: C:\WINDOWS DirectX Version: DirectX 11 DX Setup Parameters: Not found User DPI Setting: Using System DPI System DPI Setting: 96 DPI (100 percent) DWM DPI Scaling: Disabled DxDiag Version: 6.02.9200.16384 64bit Unicode ------------ DxDiag Notes ------------ Display Tab 1: No problems found. Display Tab 2: No problems found. Sound Tab 1: No problems found. Sound Tab 2: No problems found. Sound Tab 3: No problems found. Input Tab: No problems found. -------------------- DirectX Debug Levels -------------------- Direct3D: 0/4 (retail) DirectDraw: 0/4 (retail) DirectInput: 0/5 (retail) DirectMusic: 0/5 (retail) DirectPlay: 0/9 (retail) DirectSound: 0/5 (retail) DirectShow: 0/6 (retail) --------------- Display Devices --------------- Card name: NVIDIA GeForce GTX 670 Manufacturer: NVIDIA Chip type: GeForce GTX 670 DAC type: Integrated RAMDAC Device Type: Full Device Device Key: Enum\PCI\VEN_10DE&DEV_1189&SUBSYS_355A1458&REV_A1 Display Memory: 7823 MB Dedicated Memory: 4036 MB Shared Memory: 3787 MB Current Mode: 1920 x 1080 (32 bit) (60Hz) Monitor Name: Acer X233H Monitor Model: Acer X233H Monitor Id: ACR0093 Native Mode: 1920 x 1080(p) (60.000Hz) Output Type: DVI Driver Name: nvd3dumx.dll,nvwgf2umx.dll,nvwgf2umx.dll,nvd3dum,nvwgf2um,nvwgf2um Driver File Version: 9.18.0013.1106 (English) Driver Version: 9.18.13.1106 DDI Version: 11 Feature Levels: 11.0,10.1,10.0,9.3,9.2,9.1 Driver Model: WDDM 1.2 Graphics Preemption: DMA Compute Preemption: DMA Driver Attributes: Final Retail Driver Date/Size: 2/26/2013 00:32:38, 18055184 bytes WHQL Logo'd: Yes WHQL Date Stamp: Device Identifier: {D7B71E3E-52C9-11CF-BA73-57151CC2C435} Vendor ID: 0x10DE Device ID: 0x1189 SubSys ID: 0x355A1458 Revision ID: 0x00A1 Driver Strong Name: oem15.inf:0f066de34a9a900c:Section063:9.18.13.1106:pci\ven_10de&dev_1189 Rank Of Driver: 00E02001 Video Accel: ModeMPEG2_A ModeMPEG2_C ModeVC1_C ModeWMV9_C DXVA2 Modes: DXVA2_ModeMPEG2_IDCT DXVA2_ModeMPEG2_VLD DXVA2_ModeVC1_VLD DXVA2_ModeVC1_IDCT DXVA2_ModeWMV9_IDCT DXVA2_ModeH264_VLD_NoFGT Deinterlace Caps: {6CB69578-7617-4637-91E5-1C02DB810285}: Format(In/Out)=(YUY2,YUY2) Frames(Prev/Fwd/Back)=(0,0,0) Caps=VideoProcess_YUV2RGB VideoProcess_StretchX VideoProcess_StretchY DeinterlaceTech_PixelAdaptive {F9F19DA5-3B09-4B2F-9D89-C64753E3EAAB}: Format(In/Out)=(YUY2,YUY2) Frames(Prev/Fwd/Back)=(0,0,0) Caps=VideoProcess_YUV2RGB VideoProcess_StretchX VideoProcess_StretchY {5A54A0C9-C7EC-4BD9-8EDE-F3C75DC4393B}: Format(In/Out)=(YUY2,YUY2) Frames(Prev/Fwd/Back)=(0,0,0) Caps=VideoProcess_YUV2RGB VideoProcess_StretchX VideoProcess_StretchY {335AA36E-7884-43A4-9C91-7F87FAF3E37E}: Format(In/Out)=(YUY2,YUY2) Frames(Prev/Fwd/Back)=(0,0,0) Caps=VideoProcess_YUV2RGB VideoProcess_StretchX VideoProcess_StretchY DeinterlaceTech_BOBVerticalStretch {6CB69578-7617-4637-91E5-1C02DB810285}: Format(In/Out)=(UYVY,UYVY) Frames(Prev/Fwd/Back)=(0,0,0) Caps=VideoProcess_YUV2RGB VideoProcess_StretchX VideoProcess_StretchY DeinterlaceTech_PixelAdaptive {F9F19DA5-3B09-4B2F-9D89-C64753E3EAAB}: Format(In/Out)=(UYVY,UYVY) Frames(Prev/Fwd/Back)=(0,0,0) Caps=VideoProcess_YUV2RGB VideoProcess_StretchX VideoProcess_StretchY {5A54A0C9-C7EC-4BD9-8EDE-F3C75DC4393B}: Format(In/Out)=(UYVY,UYVY) Frames(Prev/Fwd/Back)=(0,0,0) Caps=VideoProcess_YUV2RGB VideoProcess_StretchX VideoProcess_StretchY {335AA36E-7884-43A4-9C91-7F87FAF3E37E}: Format(In/Out)=(UYVY,UYVY) Frames(Prev/Fwd/Back)=(0,0,0) Caps=VideoProcess_YUV2RGB VideoProcess_StretchX VideoProcess_StretchY DeinterlaceTech_BOBVerticalStretch {6CB69578-7617-4637-91E5-1C02DB810285}: Format(In/Out)=(YV12,0x32315659) Frames(Prev/Fwd/Back)=(0,0,0) Caps=VideoProcess_YUV2RGB VideoProcess_StretchX VideoProcess_StretchY DeinterlaceTech_PixelAdaptive {F9F19DA5-3B09-4B2F-9D89-C64753E3EAAB}: Format(In/Out)=(YV12,0x32315659) Frames(Prev/Fwd/Back)=(0,0,0) Caps=VideoProcess_YUV2RGB VideoProcess_StretchX VideoProcess_StretchY {5A54A0C9-C7EC-4BD9-8EDE-F3C75DC4393B}: Format(In/Out)=(YV12,0x32315659) Frames(Prev/Fwd/Back)=(0,0,0) Caps=VideoProcess_YUV2RGB VideoProcess_StretchX VideoProcess_StretchY {335AA36E-7884-43A4-9C91-7F87FAF3E37E}: Format(In/Out)=(YV12,0x32315659) Frames(Prev/Fwd/Back)=(0,0,0) Caps=VideoProcess_YUV2RGB VideoProcess_StretchX VideoProcess_StretchY DeinterlaceTech_BOBVerticalStretch {6CB69578-7617-4637-91E5-1C02DB810285}: Format(In/Out)=(NV12,0x3231564e) Frames(Prev/Fwd/Back)=(0,0,0) Caps=VideoProcess_YUV2RGB VideoProcess_StretchX VideoProcess_StretchY DeinterlaceTech_PixelAdaptive {F9F19DA5-3B09-4B2F-9D89-C64753E3EAAB}: Format(In/Out)=(NV12,0x3231564e) Frames(Prev/Fwd/Back)=(0,0,0) Caps=VideoProcess_YUV2RGB VideoProcess_StretchX VideoProcess_StretchY {5A54A0C9-C7EC-4BD9-8EDE-F3C75DC4393B}: Format(In/Out)=(NV12,0x3231564e) Frames(Prev/Fwd/Back)=(0,0,0) Caps=VideoProcess_YUV2RGB VideoProcess_StretchX VideoProcess_StretchY {335AA36E-7884-43A4-9C91-7F87FAF3E37E}: Format(In/Out)=(NV12,0x3231564e) Frames(Prev/Fwd/Back)=(0,0,0) Caps=VideoProcess_YUV2RGB VideoProcess_StretchX VideoProcess_StretchY DeinterlaceTech_BOBVerticalStretch {6CB69578-7617-4637-91E5-1C02DB810285}: Format(In/Out)=(IMC1,UNKNOWN) Frames(Prev/Fwd/Back)=(0,0,0) Caps= {F9F19DA5-3B09-4B2F-9D89-C64753E3EAAB}: Format(In/Out)=(IMC1,UNKNOWN) Frames(Prev/Fwd/Back)=(0,0,0) Caps= {5A54A0C9-C7EC-4BD9-8EDE-F3C75DC4393B}: Format(In/Out)=(IMC1,UNKNOWN) Frames(Prev/Fwd/Back)=(0,0,0) Caps= {335AA36E-7884-43A4-9C91-7F87FAF3E37E}: Format(In/Out)=(IMC1,UNKNOWN) Frames(Prev/Fwd/Back)=(0,0,0) Caps= {6CB69578-7617-4637-91E5-1C02DB810285}: Format(In/Out)=(IMC2,UNKNOWN) Frames(Prev/Fwd/Back)=(0,0,0) Caps= {F9F19DA5-3B09-4B2F-9D89-C64753E3EAAB}: Format(In/Out)=(IMC2,UNKNOWN) Frames(Prev/Fwd/Back)=(0,0,0) Caps= {5A54A0C9-C7EC-4BD9-8EDE-F3C75DC4393B}: Format(In/Out)=(IMC2,UNKNOWN) Frames(Prev/Fwd/Back)=(0,0,0) Caps= {335AA36E-7884-43A4-9C91-7F87FAF3E37E}: Format(In/Out)=(IMC2,UNKNOWN) Frames(Prev/Fwd/Back)=(0,0,0) Caps= {6CB69578-7617-4637-91E5-1C02DB810285}: Format(In/Out)=(IMC3,UNKNOWN) Frames(Prev/Fwd/Back)=(0,0,0) Caps= {F9F19DA5-3B09-4B2F-9D89-C64753E3EAAB}: Format(In/Out)=(IMC3,UNKNOWN) Frames(Prev/Fwd/Back)=(0,0,0) Caps= {5A54A0C9-C7EC-4BD9-8EDE-F3C75DC4393B}: Format(In/Out)=(IMC3,UNKNOWN) Frames(Prev/Fwd/Back)=(0,0,0) Caps= {335AA36E-7884-43A4-9C91-7F87FAF3E37E}: Format(In/Out)=(IMC3,UNKNOWN) Frames(Prev/Fwd/Back)=(0,0,0) Caps= {6CB69578-7617-4637-91E5-1C02DB810285}: Format(In/Out)=(IMC4,UNKNOWN) Frames(Prev/Fwd/Back)=(0,0,0) Caps= {F9F19DA5-3B09-4B2F-9D89-C64753E3EAAB}: Format(In/Out)=(IMC4,UNKNOWN) Frames(Prev/Fwd/Back)=(0,0,0) Caps= {5A54A0C9-C7EC-4BD9-8EDE-F3C75DC4393B}: Format(In/Out)=(IMC4,UNKNOWN) Frames(Prev/Fwd/Back)=(0,0,0) Caps= {335AA36E-7884-43A4-9C91-7F87FAF3E37E}: Format(In/Out)=(IMC4,UNKNOWN) Frames(Prev/Fwd/Back)=(0,0,0) Caps= {6CB69578-7617-4637-91E5-1C02DB810285}: Format(In/Out)=(S340,UNKNOWN) Frames(Prev/Fwd/Back)=(0,0,0) Caps= {F9F19DA5-3B09-4B2F-9D89-C64753E3EAAB}: Format(In/Out)=(S340,UNKNOWN) Frames(Prev/Fwd/Back)=(0,0,0) Caps= {5A54A0C9-C7EC-4BD9-8EDE-F3C75DC4393B}: Format(In/Out)=(S340,UNKNOWN) Frames(Prev/Fwd/Back)=(0,0,0) Caps= {335AA36E-7884-43A4-9C91-7F87FAF3E37E}: Format(In/Out)=(S340,UNKNOWN) Frames(Prev/Fwd/Back)=(0,0,0) Caps= {6CB69578-7617-4637-91E5-1C02DB810285}: Format(In/Out)=(S342,UNKNOWN) Frames(Prev/Fwd/Back)=(0,0,0) Caps= {F9F19DA5-3B09-4B2F-9D89-C64753E3EAAB}: Format(In/Out)=(S342,UNKNOWN) Frames(Prev/Fwd/Back)=(0,0,0) Caps= {5A54A0C9-C7EC-4BD9-8EDE-F3C75DC4393B}: Format(In/Out)=(S342,UNKNOWN) Frames(Prev/Fwd/Back)=(0,0,0) Caps= {335AA36E-7884-43A4-9C91-7F87FAF3E37E}: Format(In/Out)=(S342,UNKNOWN) Frames(Prev/Fwd/Back)=(0,0,0) Caps= D3D9 Overlay: Supported DXVA-HD: Supported DDraw Status: Enabled D3D Status: Enabled AGP Status: Enabled Card name: Intel(R) HD Graphics 4000 Manufacturer: Intel Corporation Chip type: Intel(R) HD Graphics Family DAC type: Internal Device Type: Full Device Device Key: Enum\PCI\VEN_8086&DEV_0162&SUBSYS_01621849&REV_09 Display Memory: 1664 MB Dedicated Memory: 32 MB Shared Memory: 1632 MB Current Mode: 1920 x 1080 (32 bit) (59Hz) Monitor Name: SyncMaster 2233SW,SyncMaster Magic CX2233SW(Analog) Monitor Model: SyncMaster Monitor Id: SAM049A Native Mode: 1920 x 1080(p) (59.934Hz) Output Type: HD15 Driver Name: igdumd64.dll,igd10umd64.dll,igd10umd64.dll,igdumdx32,igd10umd32,igd10umd32 Driver File Version: 9.17.0010.2932 (English) Driver Version: 9.17.10.2932 DDI Version: 11 Feature Levels: 11.0,10.1,10.0,9.3,9.2,9.1 Driver Model: WDDM 1.2 Graphics Preemption: DMA Compute Preemption: Thread group Driver Attributes: Final Retail Driver Date/Size: 12/14/2012 02:42:34, 12615680 bytes WHQL Logo'd: Yes WHQL Date Stamp: Device Identifier: {D7B78E66-4222-11CF-8D70-6821B7C2C435} Vendor ID: 0x8086 Device ID: 0x0162 SubSys ID: 0x01621849 Revision ID: 0x0009 Driver Strong Name: oem3.inf:5f63e53413eb6103:iIVBD0:9.17.10.2932:pci\ven_8086&dev_0162 Rank Of Driver: 00E02001 Video Accel: ModeMPEG2_A ModeMPEG2_C ModeWMV9_C ModeVC1_C DXVA2 Modes: DXVA2_ModeMPEG2_VLD DXVA2_ModeMPEG2_IDCT DXVA2_ModeWMV9_IDCT DXVA2_ModeVC1_IDCT DXVA2_ModeH264_VLD_NoFGT Deinterlace Caps: {BF752EF6-8CC4-457A-BE1B-08BD1CAEEE9F}: Format(In/Out)=(YUY2,YUY2) Frames(Prev/Fwd/Back)=(0,0,1) Caps=VideoProcess_YUV2RGB VideoProcess_StretchX VideoProcess_StretchY VideoProcess_AlphaBlend DeinterlaceTech_EdgeFiltering {335AA36E-7884-43A4-9C91-7F87FAF3E37E}: Format(In/Out)=(YUY2,YUY2) Frames(Prev/Fwd/Back)=(0,0,0) Caps=VideoProcess_YUV2RGB VideoProcess_StretchX VideoProcess_StretchY VideoProcess_AlphaBlend DeinterlaceTech_BOBVerticalStretch {5A54A0C9-C7EC-4BD9-8EDE-F3C75DC4393B}: Format(In/Out)=(YUY2,YUY2) Frames(Prev/Fwd/Back)=(0,0,0) Caps=VideoProcess_YUV2RGB VideoProcess_StretchX VideoProcess_StretchY VideoProcess_AlphaBlend {BF752EF6-8CC4-457A-BE1B-08BD1CAEEE9F}: Format(In/Out)=(UYVY,YUY2) Frames(Prev/Fwd/Back)=(0,0,1) Caps=VideoProcess_YUV2RGB VideoProcess_StretchX VideoProcess_StretchY VideoProcess_AlphaBlend DeinterlaceTech_EdgeFiltering {335AA36E-7884-43A4-9C91-7F87FAF3E37E}: Format(In/Out)=(UYVY,YUY2) Frames(Prev/Fwd/Back)=(0,0,0) Caps=VideoProcess_YUV2RGB VideoProcess_StretchX VideoProcess_StretchY VideoProcess_AlphaBlend DeinterlaceTech_BOBVerticalStretch {5A54A0C9-C7EC-4BD9-8EDE-F3C75DC4393B}: Format(In/Out)=(UYVY,YUY2) Frames(Prev/Fwd/Back)=(0,0,0) Caps=VideoProcess_YUV2RGB VideoProcess_StretchX VideoProcess_StretchY VideoProcess_AlphaBlend {BF752EF6-8CC4-457A-BE1B-08BD1CAEEE9F}: Format(In/Out)=(YV12,YUY2) Frames(Prev/Fwd/Back)=(0,0,1) Caps=VideoProcess_YUV2RGB VideoProcess_StretchX VideoProcess_StretchY VideoProcess_AlphaBlend DeinterlaceTech_EdgeFiltering {335AA36E-7884-43A4-9C91-7F87FAF3E37E}: Format(In/Out)=(YV12,YUY2) Frames(Prev/Fwd/Back)=(0,0,0) Caps=VideoProcess_YUV2RGB VideoProcess_StretchX VideoProcess_StretchY VideoProcess_AlphaBlend DeinterlaceTech_BOBVerticalStretch {5A54A0C9-C7EC-4BD9-8EDE-F3C75DC4393B}: Format(In/Out)=(YV12,YUY2) Frames(Prev/Fwd/Back)=(0,0,0) Caps=VideoProcess_YUV2RGB VideoProcess_StretchX VideoProcess_StretchY VideoProcess_AlphaBlend {BF752EF6-8CC4-457A-BE1B-08BD1CAEEE9F}: Format(In/Out)=(NV12,YUY2) Frames(Prev/Fwd/Back)=(0,0,1) Caps=VideoProcess_YUV2RGB VideoProcess_StretchX VideoProcess_StretchY VideoProcess_AlphaBlend DeinterlaceTech_EdgeFiltering {335AA36E-7884-43A4-9C91-7F87FAF3E37E}: Format(In/Out)=(NV12,YUY2) Frames(Prev/Fwd/Back)=(0,0,0) Caps=VideoProcess_YUV2RGB VideoProcess_StretchX VideoProcess_StretchY VideoProcess_AlphaBlend DeinterlaceTech_BOBVerticalStretch {5A54A0C9-C7EC-4BD9-8EDE-F3C75DC4393B}: Format(In/Out)=(NV12,YUY2) Frames(Prev/Fwd/Back)=(0,0,0) Caps=VideoProcess_YUV2RGB VideoProcess_StretchX VideoProcess_StretchY VideoProcess_AlphaBlend {BF752EF6-8CC4-457A-BE1B-08BD1CAEEE9F}: Format(In/Out)=(IMC1,YUY2) Frames(Prev/Fwd/Back)=(0,0,1) Caps=VideoProcess_YUV2RGB VideoProcess_StretchX VideoProcess_StretchY VideoProcess_AlphaBlend DeinterlaceTech_EdgeFiltering {335AA36E-7884-43A4-9C91-7F87FAF3E37E}: Format(In/Out)=(IMC1,YUY2) Frames(Prev/Fwd/Back)=(0,0,0) Caps=VideoProcess_YUV2RGB VideoProcess_StretchX VideoProcess_StretchY VideoProcess_AlphaBlend DeinterlaceTech_BOBVerticalStretch {5A54A0C9-C7EC-4BD9-8EDE-F3C75DC4393B}: Format(In/Out)=(IMC1,YUY2) Frames(Prev/Fwd/Back)=(0,0,0) Caps=VideoProcess_YUV2RGB VideoProcess_StretchX VideoProcess_StretchY VideoProcess_AlphaBlend {BF752EF6-8CC4-457A-BE1B-08BD1CAEEE9F}: Format(In/Out)=(IMC2,YUY2) Frames(Prev/Fwd/Back)=(0,0,1) Caps=VideoProcess_YUV2RGB VideoProcess_StretchX VideoProcess_StretchY VideoProcess_AlphaBlend DeinterlaceTech_EdgeFiltering {335AA36E-7884-43A4-9C91-7F87FAF3E37E}: Format(In/Out)=(IMC2,YUY2) Frames(Prev/Fwd/Back)=(0,0,0) Caps=VideoProcess_YUV2RGB VideoProcess_StretchX VideoProcess_StretchY VideoProcess_AlphaBlend DeinterlaceTech_BOBVerticalStretch {5A54A0C9-C7EC-4BD9-8EDE-F3C75DC4393B}: Format(In/Out)=(IMC2,YUY2) Frames(Prev/Fwd/Back)=(0,0,0) Caps=VideoProcess_YUV2RGB VideoProcess_StretchX VideoProcess_StretchY VideoProcess_AlphaBlend {BF752EF6-8CC4-457A-BE1B-08BD1CAEEE9F}: Format(In/Out)=(IMC3,YUY2) Frames(Prev/Fwd/Back)=(0,0,1) Caps=VideoProcess_YUV2RGB VideoProcess_StretchX VideoProcess_StretchY VideoProcess_AlphaBlend DeinterlaceTech_EdgeFiltering {335AA36E-7884-43A4-9C91-7F87FAF3E37E}: Format(In/Out)=(IMC3,YUY2) Frames(Prev/Fwd/Back)=(0,0,0) Caps=VideoProcess_YUV2RGB VideoProcess_StretchX VideoProcess_StretchY VideoProcess_AlphaBlend DeinterlaceTech_BOBVerticalStretch {5A54A0C9-C7EC-4BD9-8EDE-F3C75DC4393B}: Format(In/Out)=(IMC3,YUY2) Frames(Prev/Fwd/Back)=(0,0,0) Caps=VideoProcess_YUV2RGB VideoProcess_StretchX VideoProcess_StretchY VideoProcess_AlphaBlend {BF752EF6-8CC4-457A-BE1B-08BD1CAEEE9F}: Format(In/Out)=(IMC4,YUY2) Frames(Prev/Fwd/Back)=(0,0,1) Caps=VideoProcess_YUV2RGB VideoProcess_StretchX VideoProcess_StretchY VideoProcess_AlphaBlend DeinterlaceTech_EdgeFiltering {335AA36E-7884-43A4-9C91-7F87FAF3E37E}: Format(In/Out)=(IMC4,YUY2) Frames(Prev/Fwd/Back)=(0,0,0) Caps=VideoProcess_YUV2RGB VideoProcess_StretchX VideoProcess_StretchY VideoProcess_AlphaBlend DeinterlaceTech_BOBVerticalStretch {5A54A0C9-C7EC-4BD9-8EDE-F3C75DC4393B}: Format(In/Out)=(IMC4,YUY2) Frames(Prev/Fwd/Back)=(0,0,0) Caps=VideoProcess_YUV2RGB VideoProcess_StretchX VideoProcess_StretchY VideoProcess_AlphaBlend D3D9 Overlay: Supported DXVA-HD: Supported DDraw Status: Enabled D3D Status: Enabled AGP Status: Enabled ------------- Sound Devices ------------- Description: Speakers (Plantronics GameCom 780) Default Sound Playback: Yes Default Voice Playback: Yes Hardware ID: USB\VID_047F&PID_C010&REV_0100&MI_00 Manufacturer ID: 65535 Product ID: 65535 Type: WDM Driver Name: USBAUDIO.sys Driver Version: 6.02.9200.16384 (English) Driver Attributes: Final Retail WHQL Logo'd: Yes Date and Size: 7/26/2012 03:26:27, 121856 bytes Other Files: Driver Provider: Microsoft HW Accel Level: Basic Cap Flags: 0xF1F Min/Max Sample Rate: 100, 200000 Static/Strm HW Mix Bufs: 1, 0 Static/Strm HW 3D Bufs: 0, 0 HW Memory: 0 Voice Management: No EAX(tm) 2.0 Listen/Src: No, No I3DL2(tm) Listen/Src: No, No Sensaura(tm) ZoomFX(tm): No Description: Speakers (High Definition Audio Device) Default Sound Playback: No Default Voice Playback: No Hardware ID: HDAUDIO\FUNC_01&VEN_10EC&DEV_0899&SUBSYS_18491898&REV_1000 Manufacturer ID: 1 Product ID: 65535 Type: WDM Driver Name: HdAudio.sys Driver Version: 6.02.9200.16384 (English) Driver Attributes: Final Retail WHQL Logo'd: Yes Date and Size: 7/26/2012 03:26:51, 339968 bytes Other Files: Driver Provider: Microsoft HW Accel Level: Basic Cap Flags: 0xF1F Min/Max Sample Rate: 100, 200000 Static/Strm HW Mix Bufs: 1, 0 Static/Strm HW 3D Bufs: 0, 0 HW Memory: 0 Voice Management: No EAX(tm) 2.0 Listen/Src: No, No I3DL2(tm) Listen/Src: No, No Sensaura(tm) ZoomFX(tm): No Description: Digital Audio (S/PDIF) (High Definition Audio Device) Default Sound Playback: No Default Voice Playback: No Hardware ID: HDAUDIO\FUNC_01&VEN_10EC&DEV_0899&SUBSYS_18491898&REV_1000 Manufacturer ID: 1 Product ID: 65535 Type: WDM Driver Name: HdAudio.sys Driver Version: 6.02.9200.16384 (English) Driver Attributes: Final Retail WHQL Logo'd: Yes Date and Size: 7/26/2012 03:26:51, 339968 bytes Other Files: Driver Provider: Microsoft HW Accel Level: Basic Cap Flags: 0xF1F Min/Max Sample Rate: 100, 200000 Static/Strm HW Mix Bufs: 1, 0 Static/Strm HW 3D Bufs: 0, 0 HW Memory: 0 Voice Management: No EAX(tm) 2.0 Listen/Src: No, No I3DL2(tm) Listen/Src: No, No Sensaura(tm) ZoomFX(tm): No --------------------- Sound Capture Devices --------------------- Description: Microphone (Plantronics GameCom 780) Default Sound Capture: Yes Default Voice Capture: Yes Driver Name: USBAUDIO.sys Driver Version: 6.02.9200.16384 (English) Driver Attributes: Final Retail Date and Size: 7/26/2012 03:26:27, 121856 bytes Cap Flags: 0x1 Format Flags: 0xFFFFF Description: SPDIF Interface (Plantronics GameCom 780) Default Sound Capture: No Default Voice Capture: No Driver Name: USBAUDIO.sys Driver Version: 6.02.9200.16384 (English) Driver Attributes: Final Retail Date and Size: 7/26/2012 03:26:27, 121856 bytes Cap Flags: 0x1 Format Flags: 0xFFFFF Description: Line (Plantronics GameCom 780) Default Sound Capture: No Default Voice Capture: No Driver Name: USBAUDIO.sys Driver Version: 6.02.9200.16384 (English) Driver Attributes: Final Retail Date and Size: 7/26/2012 03:26:27, 121856 bytes Cap Flags: 0x1 Format Flags: 0xFFFFF ------------------- DirectInput Devices ------------------- Device Name: Mouse Attached: 1 Controller ID: n/a Vendor/Product ID: n/a FF Driver: n/a Device Name: Keyboard Attached: 1 Controller ID: n/a Vendor/Product ID: n/a FF Driver: n/a Device Name: Plantronics GameCom 780 Attached: 1 Controller ID: 0x0 Vendor/Product ID: 0x047F, 0xC010 FF Driver: n/a Poll w/ Interrupt: No ----------- USB Devices ----------- + USB Root Hub | Vendor/Product ID: 0x8086, 0x1E2D | Matching Device ID: USB\ROOT_HUB20 | Service: usbhub | Driver: usbhub.sys, 7/26/2012 06:00:58, 496368 bytes | Driver: usbd.sys, 7/26/2012 06:00:58, 21744 bytes | +-+ Generic USB Hub | | Vendor/Product ID: 0x8087, 0x0024 | | Location: Port_#0001.Hub_#0001 | | Matching Device ID: USB\Class_09 | | Service: usbhub | | Driver: usbhub.sys, 7/26/2012 06:00:58, 496368 bytes | | Driver: usbd.sys, 7/26/2012 06:00:58, 21744 bytes ---------------- Gameport Devices ---------------- ------------ PS/2 Devices ------------ + Standard PS/2 Keyboard | Matching Device ID: *PNP0303 | Service: i8042prt | Driver: i8042prt.sys, 7/26/2012 03:28:51, 112640 bytes | Driver: kbdclass.sys, 7/26/2012 06:00:52, 48368 bytes | + HID Keyboard Device | Vendor/Product ID: 0x1532, 0x0015 | Matching Device ID: HID_DEVICE_SYSTEM_KEYBOARD | Service: kbdhid | Driver: kbdhid.sys, 7/26/2012 03:28:49, 29184 bytes | Driver: kbdclass.sys, 7/26/2012 06:00:52, 48368 bytes | + HID-compliant mouse | Vendor/Product ID: 0x1532, 0x0015 | Matching Device ID: HID_DEVICE_SYSTEM_MOUSE | Service: mouhid | Driver: mouhid.sys, 7/26/2012 03:28:47, 26112 bytes | Driver: mouclass.sys, 7/26/2012 06:00:55, 45808 bytes ------------------------ Disk & DVD/CD-ROM Drives ------------------------ Drive: C: Free Space: 1843.8 GB Total Space: 1874.6 GB File System: NTFS Model: ST2000DM001-1CH164 Drive: D: Free Space: 273.0 GB Total Space: 715.4 GB File System: NTFS Model: WDC WD7500AACS-00D6B0 Drive: E: Model: PIONEER DVD-RW DVR-220L Driver: c:\windows\system32\drivers\cdrom.sys, 6.02.9200.16384 (English), 7/26/2012 03:26:36, 174080 bytes -------------- System Devices -------------- Name: Intel(R) 7 Series/C216 Chipset Family USB Enhanced Host Controller - 1E2D Device ID: PCI\VEN_8086&DEV_1E2D&SUBSYS_1E2D1849&REV_04\3&11583659&0&D0 Driver: C:\WINDOWS\system32\drivers\usbehci.sys, 6.02.9200.16384 (English), 7/26/2012 06:00:58, 78576 bytes Driver: C:\WINDOWS\system32\drivers\usbport.sys, 6.02.9200.16384 (English), 7/26/2012 06:00:58, 487664 bytes Driver: C:\WINDOWS\system32\drivers\usbhub.sys, 6.02.9200.16384 (English), 7/26/2012 06:00:58, 496368 bytes Name: Intel(R) 7 Series/C216 Chipset Family USB Enhanced Host Controller - 1E26 Device ID: PCI\VEN_8086&DEV_1E26&SUBSYS_1E261849&REV_04\3&11583659&0&E8 Driver: C:\WINDOWS\system32\drivers\usbehci.sys, 6.02.9200.16384 (English), 7/26/2012 06:00:58, 78576 bytes Driver: C:\WINDOWS\system32\drivers\usbport.sys, 6.02.9200.16384 (English), 7/26/2012 06:00:58, 487664 bytes Driver: C:\WINDOWS\system32\drivers\usbhub.sys, 6.02.9200.16384 (English), 7/26/2012 06:00:58, 496368 bytes Name: High Definition Audio Controller Device ID: PCI\VEN_8086&DEV_1E20&SUBSYS_18981849&REV_04\3&11583659&0&D8 Driver: C:\WINDOWS\system32\DRIVERS\hdaudbus.sys, 6.02.9200.16384 (English), 7/26/2012 03:27:36, 71168 bytes Name: Intel(R) 7 Series/C216 Chipset Family SMBus Host Controller - 1E22 Device ID: PCI\VEN_8086&DEV_1E22&SUBSYS_1E221849&REV_04\3&11583659&0&FB Driver: n/a Name: Intel(R) 7 Series/C216 Chipset Family PCI Express Root Port 5 - 1E18 Device ID: PCI\VEN_8086&DEV_1E18&SUBSYS_1E181849&REV_C4\3&11583659&0&E4 Driver: C:\WINDOWS\system32\DRIVERS\pci.sys, 6.02.9200.16384 (English), 7/26/2012 06:00:55, 234224 bytes Name: Intel(R) 7 Series/C216 Chipset Family PCI Express Root Port 4 - 1E16 Device ID: PCI\VEN_8086&DEV_1E16&SUBSYS_1E161849&REV_C4\3&11583659&0&E3 Driver: C:\WINDOWS\system32\DRIVERS\pci.sys, 6.02.9200.16384 (English), 7/26/2012 06:00:55, 234224 bytes Name: High Definition Audio Controller Device ID: PCI\VEN_10DE&DEV_0E0A&SUBSYS_355A1458&REV_A1\4&15001D53&0&0108 Driver: C:\WINDOWS\system32\DRIVERS\hdaudbus.sys, 6.02.9200.16384 (English), 7/26/2012 03:27:36, 71168 bytes Name: Intel(R) 7 Series/C216 Chipset Family PCI Express Root Port 1 - 1E10 Device ID: PCI\VEN_8086&DEV_1E10&SUBSYS_1E101849&REV_C4\3&11583659&0&E0 Driver: C:\WINDOWS\system32\DRIVERS\pci.sys, 6.02.9200.16384 (English), 7/26/2012 06:00:55, 234224 bytes Name: Intel(R) HD Graphics 4000 Device ID: PCI\VEN_8086&DEV_0162&SUBSYS_01621849&REV_09\3&11583659&0&10 Driver: C:\WINDOWS\system32\DRIVERS\igdkmd64.sys, 9.17.0010.2932 (English), 12/14/2012 02:42:22, 5353888 bytes Driver: C:\WINDOWS\system32\igdumd64.dll, 9.17.0010.2932 (English), 12/14/2012 02:42:34, 12615680 bytes Driver: C:\WINDOWS\system32\igd10umd64.dll, 9.17.0010.2932 (English), 12/14/2012 02:42:26, 12858368 bytes Driver: C:\WINDOWS\system32\igfxcmrt64.dll, 2.04.0000.1019 (English), 12/14/2012 02:42:20, 518656 bytes Driver: C:\WINDOWS\system32\igfx11cmrt64.dll, 2.04.0000.1019 (English), 12/14/2012 02:42:26, 483840 bytes Driver: C:\WINDOWS\system32\igfxcmjit64.dll, 2.04.0000.1019 (English), 12/14/2012 02:42:12, 3511296 bytes Driver: C:\WINDOWS\system32\IccLibDll_x64.dll, 12/14/2012 02:42:12, 94208 bytes Driver: C:\WINDOWS\system32\igcodeckrng700.bin, 12/14/2012 02:42:24, 754652 bytes Driver: C:\WINDOWS\system32\igvpkrng700.bin, 12/14/2012 02:42:24, 598384 bytes Driver: C:\WINDOWS\SysWow64\igcodeckrng700.bin, 12/14/2012 02:42:24, 754652 bytes Driver: C:\WINDOWS\SysWow64\igvpkrng700.bin, 12/14/2012 02:42:24, 598384 bytes Driver: C:\WINDOWS\system32\igdde64.dll, 12/14/2012 02:42:24, 80384 bytes Driver: C:\WINDOWS\SysWow64\igdde32.dll, 12/14/2012 02:42:30, 64512 bytes Driver: C:\WINDOWS\system32\iglhxs64.vp, 12/14/2012 02:42:20, 17102 bytes Driver: C:\WINDOWS\system32\iglhxo64.vp, 6/2/2012 15:32:34, 59425 bytes Driver: C:\WINDOWS\system32\iglhxc64.vp, 6/2/2012 15:32:34, 59230 bytes Driver: C:\WINDOWS\system32\iglhxg64.vp, 6/2/2012 15:32:34, 59398 bytes Driver: C:\WINDOWS\system32\iglhxo64_dev.vp, 6/2/2012 15:32:34, 58109 bytes Driver: C:\WINDOWS\system32\iglhxc64_dev.vp, 6/2/2012 15:32:34, 59104 bytes Driver: C:\WINDOWS\system32\iglhxg64_dev.vp, 6/2/2012 15:32:34, 58796 bytes Driver: C:\WINDOWS\system32\iglhxa64.vp, 6/2/2012 15:32:34, 1074 bytes Driver: C:\WINDOWS\system32\iglhxa64.cpa, 6/2/2012 15:32:34, 1981696 bytes Driver: C:\WINDOWS\system32\iglhcp64.dll, 3.00.0001.0016 (English), 12/14/2012 02:42:10, 216064 bytes Driver: C:\WINDOWS\system32\iglhsip64.dll, 3.00.0000.0012 (English), 12/14/2012 02:42:24, 524800 bytes Driver: C:\WINDOWS\SysWow64\igdumd32.dll, 9.17.0010.2932 (English), 12/14/2012 02:42:24, 11049472 bytes Driver: C:\WINDOWS\SysWow64\igfxdv32.dll, 8.15.0010.2932 (English), 12/14/2012 02:42:30, 330752 bytes Driver: C:\WINDOWS\SysWow64\igd10umd32.dll, 9.17.0010.2932 (English), 12/14/2012 02:42:30, 11174912 bytes Driver: C:\WINDOWS\SysWow64\iglhcp32.dll, 3.00.0001.0015 (English), 12/14/2012 02:42:30, 180224 bytes Driver: C:\WINDOWS\SysWow64\iglhsip32.dll, 3.00.0000.0012 (English), 12/14/2012 02:42:24, 519680 bytes Driver: C:\WINDOWS\SysWow64\IntelCpHeciSvc.exe, 1.00.0001.0014 (English), 12/14/2012 02:42:10, 277616 bytes Driver: C:\WINDOWS\SysWow64\igfxcmrt32.dll, 2.04.0000.1019 (English), 12/14/2012 02:42:28, 640512 bytes Driver: C:\WINDOWS\SysWow64\igfx11cmrt32.dll, 2.04.0000.1019 (English), 12/14/2012 02:42:24, 459264 bytes Driver: C:\WINDOWS\SysWow64\igfxcmjit32.dll, 2.04.0000.1019 (English), 12/14/2012 02:42:28, 3121152 bytes Driver: C:\WINDOWS\system32\difx64.exe, 1.04.0002.0000 (English), 12/14/2012 02:42:22, 185968 bytes Driver: C:\WINDOWS\system32\hccutils.dll, 8.15.0010.2932 (English), 12/14/2012 02:42:30, 110592 bytes Driver: C:\WINDOWS\system32\igfxsrvc.dll, 8.15.0010.2932 (English), 12/14/2012 02:42:30, 64000 bytes Driver: C:\WINDOWS\system32\igfxsrvc.exe, 8.15.0010.2932 (English), 12/14/2012 02:42:28, 512112 bytes Driver: C:\WINDOWS\system32\igfxpph.dll, 8.15.0010.2932 (English), 12/14/2012 02:42:34, 384512 bytes Driver: C:\WINDOWS\system32\igfxcpl.cpl, 8.15.0010.2932 (English), 12/14/2012 02:42:16, 126976 bytes Driver: C:\WINDOWS\system32\igfxdev.dll, 8.15.0010.2932 (English), 12/14/2012 02:42:16, 442880 bytes Driver: C:\WINDOWS\system32\igfxdo.dll, 8.15.0010.2932 (English), 12/14/2012 02:42:24, 142336 bytes Driver: C:\WINDOWS\system32\igfxtray.exe, 8.15.0010.2932 (English), 12/14/2012 02:42:14, 172144 bytes Driver: C:\WINDOWS\system32\hkcmd.exe, 8.15.0010.2932 (English), 12/14/2012 02:42:10, 399984 bytes Driver: C:\WINDOWS\system32\igfxress.dll, 8.15.0010.2932 (English), 12/14/2012 02:42:26, 9007616 bytes Driver: C:\WINDOWS\system32\igfxpers.exe, 8.15.0010.2932 (English), 12/14/2012 02:42:14, 441968 bytes Driver: C:\WINDOWS\system32\igfxTMM.dll, 8.15.0010.2932 (English), 12/14/2012 02:42:14, 410112 bytes Driver: C:\WINDOWS\system32\gfxSrvc.dll, 8.15.0010.2932 (English), 12/14/2012 02:42:12, 175104 bytes Driver: C:\WINDOWS\system32\GfxUI.exe, 8.15.0010.2932 (English), 12/14/2012 02:42:12, 5906032 bytes Driver: C:\WINDOWS\system32\GfxUI.exe.config, 12/14/2012 02:42:28, 268 bytes Driver: C:\WINDOWS\system32\IGFXDEVLib.dll, 1.00.0000.0000 (Invariant Language), 12/14/2012 02:42:36, 9728 bytes Driver: C:\WINDOWS\system32\igfxext.exe, 8.15.0010.2932 (English), 12/14/2012 02:42:28, 255088 bytes Driver: C:\WINDOWS\system32\igfxexps.dll, 8.15.0010.2932 (English), 12/14/2012 02:42:30, 28672 bytes Driver: C:\WINDOWS\SysWow64\igfxexps32.dll, 8.15.0010.2932 (English), 12/14/2012 02:42:22, 25088 bytes Driver: C:\WINDOWS\system32\igfxrara.lrc, 8.15.0010.2932 (English), 12/14/2012 02:42:30, 435712 bytes Driver: C:\WINDOWS\system32\igfxrchs.lrc, 8.15.0010.2932 (English), 12/14/2012 02:42:26, 428544 bytes Driver: C:\WINDOWS\system32\igfxrcht.lrc, 8.15.0010.2932 (English), 12/14/2012 02:42:30, 429056 bytes Driver: C:\WINDOWS\system32\igfxrdan.lrc, 8.15.0010.2932 (English), 12/14/2012 02:42:16, 437248 bytes Driver: C:\WINDOWS\system32\igfxrdeu.lrc, 8.15.0010.2932 (English), 12/14/2012 02:42:28, 438784 bytes Driver: C:\WINDOWS\system32\igfxrenu.lrc, 8.15.0010.2932 (English), 12/14/2012 02:42:24, 286208 bytes Driver: C:\WINDOWS\system32\igfxresn.lrc, 8.15.0010.2932 (English), 12/14/2012 02:42:26, 439808 bytes Driver: C:\WINDOWS\system32\igfxrfin.lrc, 8.15.0010.2932 (English), 12/14/2012 02:42:20, 438272 bytes Driver: C:\WINDOWS\system32\igfxrfra.lrc, 8.15.0010.2932 (English), 12/14/2012 02:42:14, 439808 bytes Driver: C:\WINDOWS\system32\igfxrheb.lrc, 8.15.0010.2932 (English), 12/14/2012 02:42:30, 435712 bytes Driver: C:\WINDOWS\system32\igfxrhrv.lrc, 8.15.0010.2932 (English), 12/14/2012 02:42:12, 438784 bytes Driver: C:\WINDOWS\system32\igfxrita.lrc, 8.15.0010.2932 (English), 12/14/2012 02:42:16, 438784 bytes Driver: C:\WINDOWS\system32\igfxrjpn.lrc, 8.15.0010.2932 (English), 12/14/2012 02:42:20, 432128 bytes Driver: C:\WINDOWS\system32\igfxrkor.lrc, 8.15.0010.2932 (English), 12/14/2012 02:42:30, 431104 bytes Driver: C:\WINDOWS\system32\igfxrnld.lrc, 8.15.0010.2932 (English), 12/14/2012 02:42:28, 438784 bytes Driver: C:\WINDOWS\system32\igfxrnor.lrc, 8.15.0010.2932 (English), 12/14/2012 02:42:36, 437760 bytes Driver: C:\WINDOWS\system32\igfxrplk.lrc, 8.15.0010.2932 (English), 12/14/2012 02:42:12, 438784 bytes Driver: C:\WINDOWS\system32\igfxrptb.lrc, 8.15.0010.2932 (English), 12/14/2012 02:42:30, 437760 bytes Driver: C:\WINDOWS\system32\igfxrptg.lrc, 8.15.0010.2932 (English), 12/14/2012 02:42:24, 438784 bytes Driver: C:\WINDOWS\system32\igfxrrom.lrc, 8.15.0010.2932 (English), 12/14/2012 02:42:22, 439296 bytes Driver: C:\WINDOWS\system32\igfxrrus.lrc, 8.15.0010.2932 (English), 12/14/2012 02:42:24, 439296 bytes Driver: C:\WINDOWS\system32\igfxrsky.lrc, 8.15.0010.2932 (English), 12/14/2012 02:42:12, 438784 bytes Driver: C:\WINDOWS\system32\igfxrslv.lrc, 8.15.0010.2932 (English), 12/14/2012 02:42:10, 437760 bytes Driver: C:\WINDOWS\system32\igfxrsve.lrc, 8.15.0010.2932 (English), 12/14/2012 02:42:20, 437760 bytes Driver: C:\WINDOWS\system32\igfxrtha.lrc, 8.15.0010.2932 (English), 12/14/2012 02:42:30, 437248 bytes Driver: C:\WINDOWS\system32\igfxrcsy.lrc, 8.15.0010.2932 (English), 12/14/2012 02:42:22, 438272 bytes Driver: C:\WINDOWS\system32\igfxrell.lrc, 8.15.0010.2932 (English), 12/14/2012 02:42:30, 440320 bytes Driver: C:\WINDOWS\system32\igfxrhun.lrc, 8.15.0010.2932 (English), 12/14/2012 02:42:16, 438272 bytes Driver: C:\WINDOWS\system32\igfxrtrk.lrc, 8.15.0010.2932 (English), 12/14/2012 02:42:26, 437760 bytes Driver: C:\WINDOWS\system32\Gfxres.ar-SA.resources, 12/14/2012 02:42:30, 166124 bytes Driver: C:\WINDOWS\system32\Gfxres.cs-CZ.resources, 12/14/2012 02:42:12, 142267 bytes Driver: C:\WINDOWS\system32\Gfxres.da-DK.resources, 12/14/2012 02:42:16, 137132 bytes Driver: C:\WINDOWS\system32\Gfxres.de-DE.resources, 12/14/2012 02:42:28, 147360 bytes Driver: C:\WINDOWS\system32\Gfxres.el-GR.resources, 12/14/2012 02:42:30, 209986 bytes Driver: C:\WINDOWS\system32\Gfxres.es-ES.resources, 12/14/2012 02:42:22, 147269 bytes Driver: C:\WINDOWS\system32\Gfxres.en-US.resources, 12/14/2012 02:42:30, 132623 bytes Driver: C:\WINDOWS\system32\Gfxres.fi-FI.resources, 12/14/2012 02:42:22, 141998 bytes Driver: C:\WINDOWS\system32\Gfxres.fr-FR.resources, 12/14/2012 02:42:36, 145470 bytes Driver: C:\WINDOWS\system32\Gfxres.he-IL.resources, 12/14/2012 02:42:10, 158986 bytes Driver: C:\WINDOWS\system32\Gfxres.hr-HR.resources, 12/14/2012 02:42:30, 141038 bytes Driver: C:\WINDOWS\system32\Gfxres.hu-HU.resources, 12/14/2012 02:42:30, 143916 bytes Driver: C:\WINDOWS\system32\Gfxres.it-IT.resources, 12/14/2012 02:42:10, 149649 bytes Driver: C:\WINDOWS\system32\Gfxres.ja-JP.resources, 12/14/2012 02:42:30, 163379 bytes Driver: C:\WINDOWS\system32\Gfxres.ko-KR.resources, 12/14/2012 02:42:24, 148018 bytes Driver: C:\WINDOWS\system32\Gfxres.nb-NO.resources, 12/14/2012 02:42:24, 137793 bytes Driver: C:\WINDOWS\system32\Gfxres.nl-NL.resources, 12/14/2012 02:42:12, 143989 bytes Driver: C:\WINDOWS\system32\Gfxres.pl-PL.resources, 12/14/2012 02:42:26, 142682 bytes Driver: C:\WINDOWS\system32\Gfxres.pt-BR.resources, 12/14/2012 02:42:36, 144235 bytes Driver: C:\WINDOWS\system32\Gfxres.pt-PT.resources, 12/14/2012 02:42:24, 143249 bytes Driver: C:\WINDOWS\system32\Gfxres.ro-RO.resources, 12/14/2012 02:42:22, 145974 bytes Driver: C:\WINDOWS\system32\Gfxres.ru-RU.resources, 12/14/2012 02:42:28, 194121 bytes Driver: C:\WINDOWS\system32\Gfxres.sk-SK.resources, 12/14/2012 02:42:24, 141833 bytes Driver: C:\WINDOWS\system32\Gfxres.sl-SI.resources, 12/14/2012 02:42:22, 137880 bytes Driver: C:\WINDOWS\system32\Gfxres.sv-SE.resources, 12/14/2012 02:42:24, 142876 bytes Driver: C:\WINDOWS\system32\Gfxres.th-TH.resources, 12/14/2012 02:42:12, 223492 bytes Driver: C:\WINDOWS\system32\Gfxres.tr-TR.resources, 12/14/2012 02:42:30, 144637 bytes Driver: C:\WINDOWS\system32\Gfxres.zh-CN.resources, 12/14/2012 02:42:30, 124662 bytes Driver: C:\WINDOWS\system32\Gfxres.zh-TW.resources, 12/14/2012 02:42:12, 126294 bytes Driver: C:\WINDOWS\system32\ig7icd64.dll, 9.17.0010.2932 (English), 12/14/2012 02:42:22, 11633152 bytes Driver: C:\WINDOWS\SysWow64\ig7icd32.dll, 9.17.0010.2932 (English), 12/14/2012 02:42:20, 8621056 bytes Driver: C:\WINDOWS\system32\Intel_OpenCL_ICD64.dll, 1.02.0001.0000 (English), 12/14/2012 02:42:22, 56832 bytes Driver: C:\WINDOWS\system32\IntelOpenCL64.dll, 1.01.0000.1003 (English), 12/14/2012 02:42:26, 241664 bytes Driver: C:\WINDOWS\system32\igdbcl64.dll, 9.17.0010.2884 (English), 12/14/2012 02:42:14, 3581440 bytes Driver: C:\WINDOWS\system32\igdrcl64.dll, 9.17.0010.2932 (English), 12/14/2012 02:42:12, 27664896 bytes Driver: C:\WINDOWS\system32\igdfcl64.dll, 8.01.0000.2932 (English), 12/14/2012 02:42:20, 27457536 bytes Driver: C:\WINDOWS\SysWow64\Intel_OpenCL_ICD32.dll, 1.02.0001.0000 (English), 12/14/2012 02:42:12, 56320 bytes Driver: C:\WINDOWS\SysWow64\IntelOpenCL32.dll, 1.01.0000.1003 (English), 12/14/2012 02:42:36, 196096 bytes Driver: C:\WINDOWS\SysWow64\igdbcl32.dll, 9.17.0010.2884 (English), 12/14/2012 02:42:12, 2898944 bytes Driver: C:\WINDOWS\SysWow64\igdrcl32.dll, 9.17.0010.2932 (English), 12/14/2012 02:42:16, 27643904 bytes Driver: C:\WINDOWS\SysWow64\igdfcl32.dll, 8.01.0000.2932 (English), 12/14/2012 02:42:36, 21850112 bytes Driver: C:\WINDOWS\system32\igfxCoIn_v2932.dll, 1.02.0030.0000 (English), 12/14/2012 02:42:20, 116224 bytes Name: NVIDIA GeForce GTX 670 Device ID: PCI\VEN_10DE&DEV_1189&SUBSYS_355A1458&REV_A1\4&15001D53&0&0008 Driver: C:\Program Files\NVIDIA Corporation\Drs\dbInstaller.exe, 8.17.0013.1106 (English), 2/26/2013 00:32:28, 233760 bytes Driver: C:\Program Files\NVIDIA Corporation\Drs\nvdrsdb.bin, 2/26/2013 00:32:36, 1102808 bytes Driver: C:\WINDOWS\System32\DriverStore\FileRepository\nv_dispi.inf_amd64_67d640ab45cc6b34\NvCplSetupInt.exe, 1.00.0001.0000 (English), 2/26/2013 00:32:22, 73372616 bytes Driver: C:\Program Files (x86)\NVIDIA Corporation\coprocmanager\Nvd3d9wrap.dll, 8.17.0013.1106 (English), 2/26/2013 00:32:42, 286536 bytes Driver: C:\Program Files (x86)\NVIDIA Corporation\coprocmanager\detoured.dll, 2/26/2013 00:32:42, 4096 bytes Driver: C:\Program Files (x86)\NVIDIA Corporation\coprocmanager\nvdxgiwrap.dll, 8.17.0013.1106 (English), 2/26/2013 00:32:40, 193336 bytes Driver: C:\Program Files\NVIDIA Corporation\coprocmanager\Nvd3d9wrapx.dll, 8.17.0013.1106 (English), 2/26/2013 00:32:28, 327248 bytes Driver: C:\Program Files\NVIDIA Corporation\coprocmanager\detoured.dll, 2/26/2013 00:32:36, 4096 bytes Driver: C:\Program Files\NVIDIA Corporation\coprocmanager\nvdxgiwrapx.dll, 8.17.0013.1106 (English), 2/26/2013 00:32:04, 228880 bytes Driver: C:\Program Files\NVIDIA Corporation\license.txt, 2/26/2013 00:32:08, 21898 bytes Driver: C:\Program Files\NVIDIA Corporation\NVSMI\MCU.exe, 1.00.4647.21994 (English), 2/26/2013 00:32:08, 1562400 bytes Driver: C:\Program Files\NVIDIA Corporation\NVSMI\nvdebugdump.exe, 2/26/2013 00:32:44, 223008 bytes Driver: C:\Program Files\NVIDIA Corporation\NVSMI\nvidia-smi.1.pdf, 2/26/2013 00:32:40, 40574 bytes Driver: C:\Program Files\NVIDIA Corporation\NVSMI\nvidia-smi.exe, 8.17.0013.1106 (English), 2/26/2013 00:32:42, 241440 bytes Driver: C:\Program Files\NVIDIA Corporation\NVSMI\nvml.dll, 8.17.0013.1106 (English), 2/26/2013 00:32:42, 428320 bytes Driver: C:\Program Files\NVIDIA Corporation\OpenCL\OpenCL.dll, 1.00.0000.0000 (English), 2/26/2013 00:32:06, 53024 bytes Driver: C:\Program Files\NVIDIA Corporation\OpenCL\OpenCL64.dll, 1.00.0000.0000 (English), 2/26/2013 00:32:40, 61216 bytes Driver: C:\WINDOWS\system32\DRIVERS\nvlddmkm.sys, 9.18.0013.1106 (English), 2/26/2013 00:32:32, 11036448 bytes Driver: C:\WINDOWS\system32\nvEncodeAPI64.dll, 6.14.0013.1106 (English), 2/26/2013 00:32:36, 420128 bytes Driver: C:\WINDOWS\system32\nvapi64.dll, 9.18.0013.1106 (English), 2/26/2013 00:32:40, 2826040 bytes Driver: C:\WINDOWS\system32\nvcompiler.dll, 8.17.0013.1106 (English), 2/26/2013 00:32:44, 25256224 bytes Driver: C:\WINDOWS\system32\nvcuda.dll, 8.17.0013.1106 (English), 2/26/2013 00:32:06, 9390760 bytes Driver: C:\WINDOWS\system32\nvcuvenc.dll, 8.17.0013.1106 (English), 2/26/2013 00:32:34, 2346784 bytes Driver: C:\WINDOWS\system32\nvcuvid.dll, 8.17.0013.1106 (English), 2/26/2013 00:32:28, 2904352 bytes Driver: C:\WINDOWS\system32\nvd3dumx.dll, 9.18.0013.1106 (English), 2/26/2013 00:32:38, 18055184 bytes Driver: C:\WINDOWS\system32\nvinfo.pb, 2/26/2013 00:32:08, 17266 bytes Driver: C:\WINDOWS\system32\nvinitx.dll, 9.18.0013.1106 (English), 2/26/2013 00:32:32, 245872 bytes Driver: C:\WINDOWS\system32\nvoglv64.dll, 9.18.0013.1106 (English), 2/26/2013 00:32:36, 26929440 bytes Driver: C:\WINDOWS\system32\nvopencl.dll, 8.17.0013.1106 (English), 2/26/2013 00:32:08, 7564040 bytes Driver: C:\WINDOWS\system32\nvumdshimx.dll, 9.18.0013.1106 (English), 2/26/2013 00:32:38, 1107440 bytes Driver: C:\WINDOWS\system32\nvwgf2umx.dll, 9.18.0013.1106 (English), 2/26/2013 00:32:26, 15053264 bytes Driver: C:\WINDOWS\SysWow64\nvEncodeAPI.dll, 6.14.0013.1106 (English), 2/26/2013 00:32:28, 364832 bytes Driver: C:\WINDOWS\SysWow64\nvapi.dll, 9.18.0013.1106 (English), 2/26/2013 00:32:44, 2505144 bytes Driver: C:\WINDOWS\SysWow64\nvcompiler.dll, 8.17.0013.1106 (English), 2/26/2013 00:32:24, 17560352 bytes Driver: C:\WINDOWS\SysWow64\nvcuda.dll, 8.17.0013.1106 (English), 2/26/2013 00:32:34, 7932256 bytes Driver: C:\WINDOWS\SysWow64\nvcuvenc.dll, 8.17.0013.1106 (English), 2/26/2013 00:32:08, 1985824 bytes Driver: C:\WINDOWS\SysWow64\nvcuvid.dll, 8.17.0013.1106 (English), 2/26/2013 00:32:36, 2720544 bytes Driver: C:\WINDOWS\SysWow64\nvd3dum.dll, 9.18.0013.1106 (English), 2/26/2013 00:32:42, 15129960 bytes Driver: C:\WINDOWS\SysWow64\nvinit.dll, 9.18.0013.1106 (English), 2/26/2013 00:32:04, 201576 bytes Driver: C:\WINDOWS\SysWow64\nvoglv32.dll, 9.18.0013.1106 (English), 2/26/2013 00:32:26, 20449056 bytes Driver: C:\WINDOWS\SysWow64\nvopencl.dll, 8.17.0013.1106 (English), 2/26/2013 00:32:40, 6262608 bytes Driver: C:\WINDOWS\SysWow64\nvumdshim.dll, 9.18.0013.1106 (English), 2/26/2013 00:32:36, 958120 bytes Driver: C:\WINDOWS\SysWow64\nvwgf2um.dll, 9.18.0013.1106 (English), 2/26/2013 00:32:08, 12641992 bytes Driver: C:\WINDOWS\system32\nvdispco64.dll, 2.00.0029.0004 (English), 2/26/2013 00:32:38, 1814304 bytes Driver: C:\WINDOWS\system32\nvdispgenco64.dll, 2.00.0016.0002 (English), 2/26/2013 00:32:32, 1510176 bytes Name: Xeon(R) processor E3-1200 v2/3rd Gen Core processor PCI Express Root Port - 0151 Device ID: PCI\VEN_8086&DEV_0151&SUBSYS_01511849&REV_09\3&11583659&0&08 Driver: C:\WINDOWS\system32\DRIVERS\pci.sys, 6.02.9200.16384 (English), 7/26/2012 06:00:55, 234224 bytes Name: Intel(R) 7 Series/C216 Chipset Family SATA AHCI Controller Device ID: PCI\VEN_8086&DEV_1E02&SUBSYS_1E021849&REV_04\3&11583659&0&FA Driver: C:\WINDOWS\system32\DRIVERS\iaStorA.sys, 11.07.0000.1013 (English), 11/19/2012 12:10:38, 652344 bytes Name: PCI standard PCI-to-PCI bridge Device ID: PCI\VEN_1B21&DEV_1080&SUBSYS_10801849&REV_03\4&C7A4F95&0&00E5 Driver: C:\WINDOWS\system32\DRIVERS\pci.sys, 6.02.9200.16384 (English), 7/26/2012 06:00:55, 234224 bytes Name: Intel(R) 7 Series/C216 Chipset Family PCI Express Root Port 8 - 1E1E Device ID: PCI\VEN_8086&DEV_1E1E&SUBSYS_1E1E1849&REV_C4\3&11583659&0&E7 Driver: C:\WINDOWS\system32\DRIVERS\pci.sys, 6.02.9200.16384 (English), 7/26/2012 06:00:55, 234224 bytes Name: Broadcom NetLink (TM) Gigabit Ethernet Device ID: PCI\VEN_14E4&DEV_16B1&SUBSYS_96B11849&REV_10\4&2B8260C3&0&00E4 Driver: C:\WINDOWS\system32\DRIVERS\k57nd60a.sys, 15.04.0000.0009 (English), 8/25/2012 22:11:34, 433976 bytes Name: Intel(R) 7 Series/C216 Chipset Family PCI Express Root Port 6 - 1E1A Device ID: PCI\VEN_8086&DEV_1E1A&SUBSYS_1E1A1849&REV_C4\3&11583659&0&E5 Driver: C:\WINDOWS\system32\DRIVERS\pci.sys, 6.02.9200.16384 (English), 7/26/2012 06:00:55, 234224 bytes Name: Intel(R) Z77 Express Chipset LPC Controller - 1E44 Device ID: PCI\VEN_8086&DEV_1E44&SUBSYS_1E441849&REV_04\3&11583659&0&F8 Driver: C:\WINDOWS\system32\DRIVERS\msisadrv.sys, 6.02.9200.16384 (English), 7/26/2012 06:00:55, 17136 bytes Name: ASMedia XHCI Controller Device ID: PCI\VEN_1B21&DEV_1042&SUBSYS_10421849&REV_00\4&37A73C8A&0&00E7 Driver: C:\WINDOWS\system32\DRIVERS\asmtxhci.sys, 1.16.0002.0000 (English), 8/20/2012 10:38:12, 416072 bytes Name: Asmedia 106x SATA Controller Device ID: PCI\VEN_1B21&DEV_0612&SUBSYS_06121849&REV_01\4&33B94F4C&0&00E3 Driver: C:\WINDOWS\system32\DRIVERS\asahci64.sys, 1.03.0008.0000 (English), 7/18/2012 11:29:46, 49048 bytes Driver: C:\WINDOWS\system32\ahcipp64.dll, 1.00.0000.0001 (English), 7/8/2011 21:29:04, 48736 bytes Name: Intel(R) Management Engine Interface Device ID: PCI\VEN_8086&DEV_1E3A&SUBSYS_1E3A1849&REV_04\3&11583659&0&B0 Driver: C:\WINDOWS\system32\DRIVERS\HECIx64.sys, 9.00.0000.1287 (English), 1/11/2013 19:02:34, 64624 bytes Name: Intel(R) USB 3.0 eXtensible Host Controller - 0100 (Microsoft) Device ID: PCI\VEN_8086&DEV_1E31&SUBSYS_1E311849&REV_04\3&11583659&0&A0 Driver: C:\WINDOWS\system32\DRIVERS\UCX01000.SYS, 6.02.9200.16384 (English), 7/26/2012 06:00:58, 212208 bytes Driver: C:\WINDOWS\system32\DRIVERS\USBXHCI.SYS, 6.02.9200.16384 (English), 7/26/2012 06:00:58, 337136 bytes Name: Xeon(R) processor E3-1200 v2/3rd Gen Core processor DRAM Controller - 0150 Device ID: PCI\VEN_8086&DEV_0150&SUBSYS_01501849&REV_09\3&11583659&0&00 Driver: n/a ------------------ DirectShow Filters ------------------ DirectShow Filters: WMAudio Decoder DMO,0x00800800,1,1,WMADMOD.DLL,6.02.9200.16384 WMAPro over S/PDIF DMO,0x00600800,1,1,WMADMOD.DLL,6.02.9200.16384 WMSpeech Decoder DMO,0x00600800,1,1,WMSPDMOD.DLL,6.02.9200.16384 MP3 Decoder DMO,0x00600800,1,1,mp3dmod.dll,6.02.9200.16384 Mpeg4s Decoder DMO,0x00800001,1,1,mp4sdecd.dll,6.02.9200.16384 WMV Screen decoder DMO,0x00600800,1,1,wmvsdecd.dll,6.02.9200.16384 WMVideo Decoder DMO,0x00800001,1,1,wmvdecod.dll,6.02.9200.16384 Mpeg43 Decoder DMO,0x00800001,1,1,mp43decd.dll,6.02.9200.16384 Mpeg4 Decoder DMO,0x00800001,1,1,mpg4decd.dll,6.02.9200.16384 DV Muxer,0x00400000,0,0,qdv.dll,6.06.9200.16384 Color Space Converter,0x00400001,1,1,quartz.dll,6.06.9200.16384 WM ASF Reader,0x00400000,0,0,qasf.dll,12.00.9200.16384 AVI Splitter,0x00600000,1,1,quartz.dll,6.06.9200.16384 VGA 16 Color Ditherer,0x00400000,1,1,quartz.dll,6.06.9200.16384 SBE2MediaTypeProfile,0x00200000,0,0,sbe.dll,6.06.9200.16384 Microsoft DTV-DVD Video Decoder,0x005fffff,2,4,msmpeg2vdec.dll,12.00.8500.0000 AC3 Parser Filter,0x00600000,1,1,mpg2splt.ax,6.06.9200.16384 StreamBufferSink,0x00200000,0,0,sbe.dll,6.06.9200.16384 MJPEG Decompressor,0x00600000,1,1,quartz.dll,6.06.9200.16384 MPEG-I Stream Splitter,0x00600000,1,2,quartz.dll,6.06.9200.16384 SAMI (CC) Parser,0x00400000,1,1,quartz.dll,6.06.9200.16384 VBI Codec,0x00600000,1,4,VBICodec.ax,6.06.9200.16384 MPEG-2 Splitter,0x005fffff,1,0,mpg2splt.ax,6.06.9200.16384 Closed Captions Analysis Filter,0x00200000,2,5,cca.dll,6.06.9200.16384 SBE2FileScan,0x00200000,0,0,sbe.dll,6.06.9200.16384 Microsoft MPEG-2 Video Encoder,0x00200000,1,1,msmpeg2enc.dll,12.00.9200.16384 Internal Script Command Renderer,0x00800001,1,0,quartz.dll,6.06.9200.16384 MPEG Audio Decoder,0x03680001,1,1,quartz.dll,6.06.9200.16384 DV Splitter,0x00600000,1,2,qdv.dll,6.06.9200.16384 Video Mixing Renderer 9,0x00200000,1,0,quartz.dll,6.06.9200.16384 Microsoft MPEG-2 Encoder,0x00200000,2,1,msmpeg2enc.dll,12.00.9200.16384 ACM Wrapper,0x00600000,1,1,quartz.dll,6.06.9200.16384 Video Renderer,0x00800001,1,0,quartz.dll,6.06.9200.16384 MPEG-2 Video Stream Analyzer,0x00200000,0,0,sbe.dll,6.06.9200.16384 Line 21 Decoder,0x00600000,1,1,, Video Port Manager,0x00600000,2,1,quartz.dll,6.06.9200.16384 Video Renderer,0x00400000,1,0,quartz.dll,6.06.9200.16384 VPS Decoder,0x00200000,0,0,WSTPager.ax,6.06.9200.16384 WM ASF Writer,0x00400000,0,0,qasf.dll,12.00.9200.16384 VBI Surface Allocator,0x00600000,1,1,vbisurf.ax,6.02.9200.16384 File writer,0x00200000,1,0,qcap.dll,6.06.9200.16384 DVD Navigator,0x00200000,0,3,qdvd.dll,6.06.9200.16384 Overlay Mixer2,0x00200000,1,1,, Microsoft MPEG-2 Audio Encoder,0x00200000,1,1,msmpeg2enc.dll,12.00.9200.16384 WST Pager,0x00200000,1,1,WSTPager.ax,6.06.9200.16384 MPEG-2 Demultiplexer,0x00600000,1,1,mpg2splt.ax,6.06.9200.16384 DV Video Decoder,0x00800000,1,1,qdv.dll,6.06.9200.16384 SampleGrabber,0x00200000,1,1,qedit.dll,6.06.9200.16384 Null Renderer,0x00200000,1,0,qedit.dll,6.06.9200.16384 MPEG-2 Sections and Tables,0x005fffff,1,0,Mpeg2Data.ax,6.06.9200.16384 Microsoft AC3 Encoder,0x00200000,1,1,msac3enc.dll,6.02.9200.16384 StreamBufferSource,0x00200000,0,0,sbe.dll,6.06.9200.16384 Smart Tee,0x00200000,1,2,qcap.dll,6.06.9200.16384 Overlay Mixer,0x00200000,0,0,, AVI Decompressor,0x00600000,1,1,quartz.dll,6.06.9200.16384 AVI/WAV File Source,0x00400000,0,2,quartz.dll,6.06.9200.16384 Wave Parser,0x00400000,1,1,quartz.dll,6.06.9200.16384 MIDI Parser,0x00400000,1,1,quartz.dll,6.06.9200.16384 Multi-file Parser,0x00400000,1,1,quartz.dll,6.06.9200.16384 File stream renderer,0x00400000,1,1,quartz.dll,6.06.9200.16384 Microsoft DTV-DVD Audio Decoder,0x005fffff,1,1,msmpeg2adec.dll,12.00.8506.0000 StreamBufferSink2,0x00200000,0,0,sbe.dll,6.06.9200.16384 AVI Mux,0x00200000,1,0,qcap.dll,6.06.9200.16384 Line 21 Decoder 2,0x00600002,1,1,quartz.dll,6.06.9200.16384 File Source (Async.),0x00400000,0,1,quartz.dll,6.06.9200.16384 File Source (URL),0x00400000,0,1,quartz.dll,6.06.9200.16384 AudioRecorder WAV Dest,0x00200000,0,0,WavDest.dll, AudioRecorder Wave Form,0x00200000,0,0,WavDest.dll, SoundRecorder Null Renderer,0x00200000,0,0,WavDest.dll, Infinite Pin Tee Filter,0x00200000,1,1,qcap.dll,6.06.9200.16384 Enhanced Video Renderer,0x00200000,1,0,evr.dll,6.02.9200.16384 BDA MPEG2 Transport Information Filter,0x00200000,2,0,psisrndr.ax,6.06.9200.16384 MPEG Video Decoder,0x40000001,1,1,quartz.dll,6.06.9200.16384 WDM Streaming Tee/Splitter Devices: Tee/Sink-to-Sink Converter,0x00200000,1,1,ksproxy.ax,6.02.9200.16384 Video Compressors: WMVideo8 Encoder DMO,0x00600800,1,1,wmvxencd.dll,6.02.9200.16384 WMVideo9 Encoder DMO,0x00600800,1,1,wmvencod.dll,6.02.9200.16384 MSScreen 9 encoder DMO,0x00600800,1,1,wmvsencd.dll,6.02.9200.16384 DV Video Encoder,0x00200000,0,0,qdv.dll,6.06.9200.16384 MJPEG Compressor,0x00200000,0,0,quartz.dll,6.06.9200.16384 Audio Compressors: WM Speech Encoder DMO,0x00600800,1,1,WMSPDMOE.DLL,6.02.9200.16384 WMAudio Encoder DMO,0x00600800,1,1,WMADMOE.DLL,6.02.9200.16384 IMA ADPCM,0x00200000,1,1,quartz.dll,6.06.9200.16384 PCM,0x00200000,1,1,quartz.dll,6.06.9200.16384 Microsoft ADPCM,0x00200000,1,1,quartz.dll,6.06.9200.16384 GSM 6.10,0x00200000,1,1,quartz.dll,6.06.9200.16384 CCITT A-Law,0x00200000,1,1,quartz.dll,6.06.9200.16384 CCITT u-Law,0x00200000,1,1,quartz.dll,6.06.9200.16384 MPEG Layer-3,0x00200000,1,1,quartz.dll,6.06.9200.16384 Audio Capture Sources: Microphone (Plantronics GameCom 780),0x00200000,0,0,qcap.dll,6.06.9200.16384 SPDIF Interface (Plantronics GameCom 780),0x00200000,0,0,qcap.dll,6.06.9200.16384 Line (Plantronics GameCom 780),0x00200000,0,0,qcap.dll,6.06.9200.16384 PBDA CP Filters: PBDA DTFilter,0x00600000,1,1,CPFilters.dll,6.06.9200.16384 PBDA ETFilter,0x00200000,0,0,CPFilters.dll,6.06.9200.16384 PBDA PTFilter,0x00200000,0,0,CPFilters.dll,6.06.9200.16384 Midi Renderers: Default MidiOut Device,0x00800000,1,0,quartz.dll,6.06.9200.16384 Microsoft GS Wavetable Synth,0x00200000,1,0,quartz.dll,6.06.9200.16384 WDM Streaming Capture Devices: Plantronics GameCom 780,0x00200000,4,2,ksproxy.ax,6.02.9200.16384 WDM Streaming Rendering Devices: HD Audio SPDIF out,0x00200000,1,1,ksproxy.ax,6.02.9200.16384 HD Audio Speaker,0x00200000,1,1,ksproxy.ax,6.02.9200.16384 Plantronics GameCom 780,0x00200000,4,2,ksproxy.ax,6.02.9200.16384 BDA Network Providers: Microsoft ATSC Network Provider,0x00200000,0,1,MSDvbNP.ax,6.06.9200.16384 Microsoft DVBC Network Provider,0x00200000,0,1,MSDvbNP.ax,6.06.9200.16384 Microsoft DVBS Network Provider,0x00200000,0,1,MSDvbNP.ax,6.06.9200.16384 Microsoft DVBT Network Provider,0x00200000,0,1,MSDvbNP.ax,6.06.9200.16384 Microsoft Network Provider,0x00200000,0,1,MSNP.ax,6.06.9200.16384 Multi-Instance Capable VBI Codecs: VBI Codec,0x00600000,1,4,VBICodec.ax,6.06.9200.16384 BDA Transport Information Renderers: BDA MPEG2 Transport Information Filter,0x00600000,2,0,psisrndr.ax,6.06.9200.16384 MPEG-2 Sections and Tables,0x00600000,1,0,Mpeg2Data.ax,6.06.9200.16384 BDA CP/CA Filters: Decrypt/Tag,0x00600000,1,1,EncDec.dll,6.06.9200.16384 Encrypt/Tag,0x00200000,0,0,EncDec.dll,6.06.9200.16384 PTFilter,0x00200000,0,0,EncDec.dll,6.06.9200.16384 XDS Codec,0x00200000,0,0,EncDec.dll,6.06.9200.16384 WDM Streaming Communication Transforms: Tee/Sink-to-Sink Converter,0x00200000,1,1,ksproxy.ax,6.02.9200.16384 Audio Renderers: Speakers (Plantronics GameCom 780),0x00200000,1,0,quartz.dll,6.06.9200.16384 Default DirectSound Device,0x00800000,1,0,quartz.dll,6.06.9200.16384 Default WaveOut Device,0x00200000,1,0,quartz.dll,6.06.9200.16384 DirectSound: Speakers (Plantronics GameCom 780),0x00200000,1,0,quartz.dll,6.06.9200.16384 DirectSound: Speakers (High Definition Audio Device),0x00200000,1,0,quartz.dll,6.06.9200.16384 DirectSound: Digital Audio (S/PDIF) (High Definition Audio Device),0x00200000,1,0,quartz.dll,6.06.9200.16384 Speakers (High Definition Audio Device),0x00200000,1,0,quartz.dll,6.06.9200.16384 Digital Audio (S/PDIF) (High Definition Audio Device),0x00200000,1,0,quartz.dll,6.06.9200.16384 ---------------------------- Preferred DirectShow Filters ---------------------------- [HKEY_LOCAL_MACHINE\Software\Microsoft\DirectShow\Preferred] <media subtype GUID>, [<filter friendly name>, ]<filter CLSID> MEDIASUBTYPE_WMAUDIO_LOSSLESS, WMAudio Decoder DMO, CLSID_CWMADecMediaObject MEDIASUBTYPE_MPG4, Mpeg4 Decoder DMO, CLSID_CMpeg4DecMediaObject WMMEDIASUBTYPE_WMSP2, WMSpeech Decoder DMO, CLSID_CWMSPDecMediaObject MEDIASUBTYPE_WVC1, WMVideo Decoder DMO, CLSID_CWMVDecMediaObject {64687664-0000-0010-8000-00AA00389B71}, DV Video Decoder, CLSID_DVVideoCodec MEDIASUBTYPE_h264, Microsoft DTV-DVD Video Decoder, CLSID_CMPEG2VidDecoderDS MEDIASUBTYPE_MPEG1AudioPayload, MPEG Audio Decoder, CLSID_CMpegAudioCodec {78766964-0000-0010-8000-00AA00389B71}, Mpeg4s Decoder DMO, CLSID_CMpeg4sDecMediaObject MEDIASUBTYPE_WMAUDIO3, WMAudio Decoder DMO, CLSID_CWMADecMediaObject MEDIASUBTYPE_WMV2, WMVideo Decoder DMO, CLSID_CWMVDecMediaObject MEDIASUBTYPE_MPEG2_AUDIO, Microsoft DTV-DVD Audio Decoder, CLSID_CMPEG2AudDecoderDS {64697678-0000-0010-8000-00AA00389B71}, Mpeg4s Decoder DMO, CLSID_CMpeg4sDecMediaObject WMMEDIASUBTYPE_MP3, MP3 Decoder DMO, CLSID_CMP3DecMediaObject MEDIASUBTYPE_mp42, Mpeg4 Decoder DMO, CLSID_CMpeg4DecMediaObject MEDIASUBTYPE_MSS1, WMV Screen decoder DMO, CLSID_CMSSCDecMediaObject MEDIASUBTYPE_WVP2, WMVideo Decoder DMO, CLSID_CWMVDecMediaObject MEDIASUBTYPE_WMV1, WMVideo Decoder DMO, CLSID_CWMVDecMediaObject MEDIASUBTYPE_WMVP, WMVideo Decoder DMO, CLSID_CWMVDecMediaObject MEDIASUBTYPE_WMV3, WMVideo Decoder DMO, CLSID_CWMVDecMediaObject MEDIASUBTYPE_WMVR, WMVideo Decoder DMO, CLSID_CWMVDecMediaObject MEDIASUBTYPE_MJPG, MJPEG Decompressor, CLSID_MjpegDec MEDIASUBTYPE_mp43, Mpeg43 Decoder DMO, CLSID_CMpeg43DecMediaObject MEDIASUBTYPE_MSS2, WMV Screen decoder DMO, CLSID_CMSSCDecMediaObject {64737664-0000-0010-8000-00AA00389B71}, DV Video Decoder, CLSID_DVVideoCodec WMMEDIASUBTYPE_WMAudioV8, WMAudio Decoder DMO, CLSID_CWMADecMediaObject {44495658-0000-0010-8000-00AA00389B71}, Mpeg4s Decoder DMO, CLSID_CMpeg4sDecMediaObject WMMEDIASUBTYPE_WMSP1, WMSpeech Decoder DMO, CLSID_CWMSPDecMediaObject MEDIASUBTYPE_RAW_AAC1, Microsoft DTV-DVD Audio Decoder, CLSID_CMPEG2AudDecoderDS {6C737664-0000-0010-8000-00AA00389B71}, DV Video Decoder, CLSID_DVVideoCodec MEDIASUBTYPE_MP43, Mpeg43 Decoder DMO, CLSID_CMpeg43DecMediaObject MEDIASUBTYPE_MPEG1Payload, MPEG Video Decoder, CLSID_CMpegVideoCodec MEDIASUBTYPE_AVC1, Microsoft DTV-DVD Video Decoder, CLSID_CMPEG2VidDecoderDS {20637664-0000-0010-8000-00AA00389B71}, DV Video Decoder, CLSID_DVVideoCodec {58564944-0000-0010-8000-00AA00389B71}, Mpeg4s Decoder DMO, CLSID_CMpeg4sDecMediaObject MEDIASUBTYPE_MP42, Mpeg4 Decoder DMO, CLSID_CMpeg4DecMediaObject MEDIASUBTYPE_MPEG_ADTS_AAC, Microsoft DTV-DVD Audio Decoder, CLSID_CMPEG2AudDecoderDS MEDIASUBTYPE_mpg4, Mpeg4 Decoder DMO, CLSID_CMpeg4DecMediaObject MEDIASUBTYPE_M4S2, Mpeg4s Decoder DMO, CLSID_CMpeg4sDecMediaObject MEDIASUBTYPE_m4s2, Mpeg4s Decoder DMO, CLSID_CMpeg4sDecMediaObject MEDIASUBTYPE_MP4S, Mpeg4s Decoder DMO, CLSID_CMpeg4sDecMediaObject MEDIASUBTYPE_mp4s, Mpeg4s Decoder DMO, CLSID_CMpeg4sDecMediaObject MEDIASUBTYPE_MPEG1Packet, MPEG Video Decoder, CLSID_CMpegVideoCodec {5634504D-0000-0010-8000-00AA00389B71}, Mpeg4s Decoder DMO, CLSID_CMpeg4sDecMediaObject {7634706D-0000-0010-8000-00AA00389B71}, Mpeg4s Decoder DMO, CLSID_CMpeg4sDecMediaObject MEDIASUBTYPE_H264, Microsoft DTV-DVD Video Decoder, CLSID_CMPEG2VidDecoderDS MEDIASUBTYPE_MPEG2_VIDEO, Microsoft DTV-DVD Video Decoder, CLSID_CMPEG2VidDecoderDS MEDIASUBTYPE_WMVA, WMVideo Decoder DMO, CLSID_CWMVDecMediaObject MEDIASUBTYPE_MSAUDIO1, WMAudio Decoder DMO, CLSID_CWMADecMediaObject MEDIASUBTYPE_DVD_LPCM_AUDIO, Microsoft DTV-DVD Audio Decoder, CLSID_CMPEG2AudDecoderDS MEDIASUBTYPE_MPEG_LOAS, Microsoft DTV-DVD Audio Decoder, CLSID_CMPEG2AudDecoderDS --------------------------- Media Foundation Transforms --------------------------- [HKEY_LOCAL_MACHINE\Software\Classes\MediaFoundation\Transforms] <category>: <transform friendly name>, <transform CLSID>, <flags>, [<merit>, ]<file name>, <file version> Video Decoders: Microsoft MPEG Video Decoder MFT, {2D709E52-123F-49B5-9CBC-9AF5CDE28FB9}, 0x1, msmpeg2vdec.dll, 12.00.8500.0000 DV Decoder MFT, {404A6DE5-D4D6-4260-9BC7-5A6CBD882432}, 0x1, mfdvdec.dll, 6.02.9200.16384 Mpeg4s Decoder MFT, CLSID_CMpeg4sDecMFT, 0x1, mp4sdecd.dll, 6.02.9200.16384 Microsoft H264 Video Decoder MFT, CLSID_CMSH264DecoderMFT, 0x1, msmpeg2vdec.dll, 12.00.8500.0000 WMV Screen decoder MFT, CLSID_CMSSCDecMediaObject, 0x1, wmvsdecd.dll, 6.02.9200.16384 WMVideo Decoder MFT, CLSID_CWMVDecMediaObject, 0x1, wmvdecod.dll, 6.02.9200.16384 MJPEG Decoder MFT, {CB17E772-E1CC-4633-8450-5617AF577905}, 0x1, mfmjpegdec.dll, 6.02.9200.16384 Mpeg43 Decoder MFT, CLSID_CMpeg43DecMediaObject, 0x1, mp43decd.dll, 6.02.9200.16384 Mpeg4 Decoder MFT, CLSID_CMpeg4DecMediaObject, 0x1, mpg4decd.dll, 6.02.9200.16384 Video Encoders: Intel® Quick Sync Video H.264 Encoder MFT, {4BE8D3C0-0515-4A37-AD55-E4BAE19AF471}, 0x4, 7, mfx_mft_h264ve_64.dll, 3.12.0010.0031 H264 Encoder MFT, {6CA50344-051A-4DED-9779-A43305165E35}, 0x1, mfh264enc.dll, 6.02.9200.16384 WMVideo8 Encoder MFT, CLSID_CWMVXEncMediaObject, 0x1, wmvxencd.dll, 6.02.9200.16384 WMVideo9 Encoder MFT, CLSID_CWMV9EncMediaObject, 0x1, wmvencod.dll, 6.02.9200.16384 Microsoft MPEG-2 Video Encoder MFT, {E6335F02-80B7-4DC4-ADFA-DFE7210D20D5}, 0x2, msmpeg2enc.dll, 12.00.9200.16384 Video Effects: Frame Rate Converter, CLSID_CFrameRateConvertDmo, 0x1, mfvdsp.dll, 6.02.9200.16384 Resizer MFT, CLSID_CResizerDMO, 0x1, vidreszr.dll, 6.02.9200.16384 VideoStabilization MFT, {51571744-7FE4-4FF2-A498-2DC34FF74F1B}, 0x1, MSVideoDSP.dll, 6.02.9200.16384 Color Control, CLSID_CColorControlDmo, 0x1, mfvdsp.dll, 6.02.9200.16384 Color Converter MFT, CLSID_CColorConvertDMO, 0x1, colorcnv.dll, 6.02.9200.16384 Video Processor: Microsoft Video Processor MFT, {88753B26-5B24-49BD-B2E7-0C445C78C982}, 0x1, msvproc.dll, 12.00.9200.16384 Audio Decoders: Microsoft Dolby Digital Plus Decoder MFT, {177C0AFE-900B-48D4-9E4C-57ADD250B3D4}, 0x1, MSAudDecMFT.dll, 6.02.9200.16384 WMAudio Decoder MFT, CLSID_CWMADecMediaObject, 0x1, WMADMOD.DLL, 6.02.9200.16384 Microsoft AAC Audio Decoder MFT, CLSID_CMSAACDecMFT, 0x1, MSAudDecMFT.dll, 6.02.9200.16384 GSM ACM Wrapper MFT, {4A76B469-7B66-4DD4-BA2D-DDF244C766DC}, 0x1, mfcore.dll, 12.00.9200.16384 WMAPro over S/PDIF MFT, CLSID_CWMAudioSpdTxDMO, 0x1, WMADMOD.DLL, 6.02.9200.16384 Microsoft MPEG Audio Decoder MFT, {70707B39-B2CA-4015-ABEA-F8447D22D88B}, 0x1, MSAudDecMFT.dll, 6.02.9200.16384 WMSpeech Decoder DMO, CLSID_CWMSPDecMediaObject, 0x1, WMSPDMOD.DLL, 6.02.9200.16384 G711 Wrapper MFT, {92B66080-5E2D-449E-90C4-C41F268E5514}, 0x1, mfcore.dll, 12.00.9200.16384 IMA ADPCM ACM Wrapper MFT, {A16E1BFF-A80D-48AD-AECD-A35C005685FE}, 0x1, mfcore.dll, 12.00.9200.16384 MP3 Decoder MFT, CLSID_CMP3DecMediaObject, 0x1, mp3dmod.dll, 6.02.9200.16384 ADPCM ACM Wrapper MFT, {CA34FE0A-5722-43AD-AF23-05F7650257DD}, 0x1, mfcore.dll, 12.00.9200.16384 Audio Encoders: MP3 Encoder ACM Wrapper MFT, {11103421-354C-4CCA-A7A3-1AFF9A5B6701}, 0x1, mfcore.dll, 12.00.9200.16384 WM Speech Encoder DMO, CLSID_CWMSPEncMediaObject2, 0x1, WMSPDMOE.DLL, 6.02.9200.16384 Microsoft MPEG-2 Audio Encoder MFT, {46A4DD5C-73F8-4304-94DF-308F760974F4}, 0x1, msmpeg2enc.dll, 12.00.9200.16384 WMAudio Encoder MFT, CLSID_CWMAEncMediaObject, 0x1, WMADMOE.DLL, 6.02.9200.16384 Microsoft AAC Audio Encoder MFT, {93AF0C51-2275-45D2-A35B-F2BA21CAED00}, 0x1, mfAACEnc.dll, 6.02.9200.16384 Microsoft Dolby Digital Encoder MFT, {AC3315C9-F481-45D7-826C-0B406C1F64B8}, 0x1, msac3enc.dll, 6.02.9200.16384 Audio Effects: AEC, CLSID_CWMAudioAEC, 0x1, mfwmaaec.dll, 6.02.9200.16384 Resampler MFT, CLSID_CResamplerMediaObject, 0x1, resampledmo.dll, 6.02.9200.16384 Multiplexers: Microsoft MPEG2 Multiplexer MFT, {AB300F71-01AB-46D2-AB6C-64906CB03258}, 0x2, mfmpeg2srcsnk.dll, 12.00.9200.16384 Others: Microsoft H264 Video Remux (MPEG2TSToMP4) MFT, {05A47EBB-8BF0-4CBF-AD2F-3B71D75866F5}, 0x1, msmpeg2vdec.dll, 12.00.8500.0000 -------------------------------------------- Media Foundation Enabled Hardware Categories -------------------------------------------- [HKEY_LOCAL_MACHINE\Software\Microsoft\Windows Media Foundation\HardwareMFT] EnableEncoders = 1 ------------------------------------- Media Foundation Byte Stream Handlers ------------------------------------- [HKEY_LOCAL_MACHINE\Software\Microsoft\Windows Media Foundation\ByteStreamHandlers] [HKEY_LOCAL_MACHINE\Software\Classes\MediaFoundation\MediaSources\Preferred] <file ext. or MIME type>, <handler CLSID>, <brief description>[, Preferred] .3g2, {271C3902-6095-4C45-A22F-20091816EE9E}, MPEG4 Byte Stream Handler, Preferred .3gp, {271C3902-6095-4C45-A22F-20091816EE9E}, MPEG4 Byte Stream Handler, Preferred .3gp2, {271C3902-6095-4C45-A22F-20091816EE9E}, MPEG4 Byte Stream Handler, Preferred .3gpp, {271C3902-6095-4C45-A22F-20091816EE9E}, MPEG4 Byte Stream Handler, Preferred .aac, {926F41F7-003E-4382-9E84-9E953BE10562}, ADTS Byte Stream Handler, Preferred .ac3, {46031BA1-083F-47D9-8369-23C92BDAB2FF}, AC-3 Byte Stream Handler, Preferred .adt, {926F41F7-003E-4382-9E84-9E953BE10562}, ADTS Byte Stream Handler, Preferred .adts, {926F41F7-003E-4382-9E84-9E953BE10562}, ADTS Byte Stream Handler, Preferred .asf, {41457294-644C-4298-A28A-BD69F2C0CF3B}, ASF Byte Stream Handler, Preferred .avi, {7AFA253E-F823-42F6-A5D9-714BDE467412}, AVI Byte Stream Handler, Preferred .dvr-ms, {65964407-A5D8-4060-85B0-1CCD63F768E2}, dvr-ms Byte Stream Handler, Preferred .dvr-ms, {A8721937-E2FB-4D7A-A9EE-4EB08C890B6E}, MF SBE Source ByteStreamHandler .ec3, {46031BA1-083F-47D9-8369-23C92BDAB2FF}, AC-3 Byte Stream Handler, Preferred .m2t, {40871C59-AB40-471F-8DC3-1F259D862479}, MPEG2 Byte Stream Handler, Preferred .m2ts, {40871C59-AB40-471F-8DC3-1F259D862479}, MPEG2 Byte Stream Handler, Preferred .m4a, {271C3902-6095-4C45-A22F-20091816EE9E}, MPEG4 Byte Stream Handler, Preferred .m4v, {271C3902-6095-4C45-A22F-20091816EE9E}, MPEG4 Byte Stream Handler, Preferred .mod, {40871C59-AB40-471F-8DC3-1F259D862479}, MPEG2 Byte Stream Handler, Preferred .mov, {271C3902-6095-4C45-A22F-20091816EE9E}, MPEG4 Byte Stream Handler, Preferred .mp2v, {40871C59-AB40-471F-8DC3-1F259D862479}, MPEG2 Byte Stream Handler, Preferred .mp3, {A82E50BA-8E92-41EB-9DF2-433F50EC2993}, MP3 Byte Stream Handler, Preferred .mp4, {271C3902-6095-4C45-A22F-20091816EE9E}, MPEG4 Byte Stream Handler, Preferred .mp4v, {271C3902-6095-4C45-A22F-20091816EE9E}, MPEG4 Byte Stream Handler, Preferred .mpa, {A82E50BA-8E92-41EB-9DF2-433F50EC2993}, MP3 Byte Stream Handler, Preferred .mpeg, {40871C59-AB40-471F-8DC3-1F259D862479}, MPEG2 Byte Stream Handler, Preferred .mpg, {40871C59-AB40-471F-8DC3-1F259D862479}, MPEG2 Byte Stream Handler, Preferred .mts, {40871C59-AB40-471F-8DC3-1F259D862479}, MPEG2 Byte Stream Handler, Preferred .nsc, {B084785C-DDE0-4D30-8CA8-05A373E185BE}, NSC Byte Stream Handler, Preferred .sami, {7A56C4CB-D678-4188-85A8-BA2EF68FA10D}, SAMI Byte Stream Handler, Preferred .smi, {7A56C4CB-D678-4188-85A8-BA2EF68FA10D}, SAMI Byte Stream Handler, Preferred .tod, {40871C59-AB40-471F-8DC3-1F259D862479}, MPEG2 Byte Stream Handler, Preferred .ts, {40871C59-AB40-471F-8DC3-1F259D862479}, MPEG2 Byte Stream Handler, Preferred .tts, {40871C59-AB40-471F-8DC3-1F259D862479}, MPEG2 Byte Stream Handler, Preferred .vob, {40871C59-AB40-471F-8DC3-1F259D862479}, MPEG2 Byte Stream Handler, Preferred .wav, {42C9B9F5-16FC-47EF-AF22-DA05F7C842E3}, WAV Byte Stream

    From user denman2328

  • soyjun / ftp-implement-based-on-udp

    CS-Notes, The aim of this assignment is to have you do UDP socket client / server programming with a focus on two broad aspects : Setting up the exchange between the client and server in a secure way despite the lack of a formal connection (as in TCP) between the two, so that ‘outsider’ UDP datagrams (broadcast, multicast, unicast - fortuitously or maliciously) cannot intrude on the communication. Introducing application-layer protocol data-transmission reliability, flow control and congestion control in the client and server using TCP-like ARQ sliding window mechanisms. The second item above is much more of a challenge to implement than the first, though neither is particularly trivial. But they are not tightly interdependent; each can be worked on separately at first and then integrated together at a later stage. Apart from the material in Chapters 8, 14 & 22 (especially Sections 22.5 - 22.7), and the experience you gained from the preceding assignment, you will also need to refer to the following : ioctl function (Chapter 17). get_ifi_info function (Section 17.6, Chapter 17). This function will be used by the server code to discover its node’s network interfaces so that it can bind all its interface IP addresses (see Section 22.6). ‘Race’ conditions (Section 20.5, Chapter 20) You also need a thorough understanding of how the TCP protocol implements reliable data transfer, flow control and congestion control. Chapters 17- 24 of TCP/IP Illustrated, Volume 1 by W. Richard Stevens gives a good overview of TCP. Though somewhat dated for some things (it was published in 1994), it remains, overall, a good basic reference. Overview This assignment asks you to implement a primitive file transfer protocol for Unix platforms, based on UDP, and with TCP-like reliability added to the transfer operation using timeouts and sliding-window mechanisms, and implementing flow and congestion control. The server is a concurrent server which can handle multiple clients simultaneously. A client gives the server the name of a file. The server forks off a child which reads directly from the file and transfers the contents over to the client using UDP datagrams. The client prints out the file contents as they come in, in order, with nothing missing and with no duplication of content, directly on to stdout (via the receiver sliding window, of course, but with no other intermediate buffering). The file to be transferred can be of arbitrary length, but its contents are always straightforward ascii text. As an aside let me mention that assuming the file contents ascii is not as restrictive as it sounds. We can always pretend, for example, that binary files are base64 encoded (“ASCII armor”). A real file transfer protocol would, of course, have to worry about transferring files between heterogeneous platforms with different file structure conventions and semantics. The sender would first have to transform the file into a platform-independent, protocol-defined, format (using, say, ASN.1, or some such standard), and the receiver would have to transform the received file into its platform’s native file format. This kind of thing can be fairly time consuming, and is certainly very tedious, to implement, with little educational value - it is not part of this assignment. Arguments for the server You should provide the server with an input file server.in from which it reads the following information, in the order shown, one item per line : Well-known port number for server. Maximum sending sliding-window size (in datagram units). You will not be handing in your server.in file. We shall create our own when we come to test your code. So it is important that you stick strictly to the file name and content conventions specified above. The same applies to the client.in input file below. Arguments for the client The client is to be provided with an input file client.in from which it reads the following information, in the order shown, one item per line : IP address of server (not the hostname). Well-known port number of server. filename to be transferred. Receiving sliding-window size (in datagram units). Random generator seed value. Probability p of datagram loss. This should be a real number in the range [ 0.0 , 1.0 ] (value 0.0 means no loss occurs; value 1.0 means all datagrams all lost). The mean µ, in milliseconds, for an exponential distribution controlling the rate at which the client reads received datagram payloads from its receive buffer. Operation Server starts up and reads its arguments from file server.in. As we shall see, when a client communicates with the server, the server will want to know what IP address that client is using to identify the server (i.e. , the destination IP address in the incoming datagram). Normally, this can be done relatively straightforwardly using the IP_RECVDESTADDR socket option, and picking up the information using the ancillary data (‘control information’) capability of the recvmsg function. Unfortunately, Solaris 2.10 does not support the IP_RECVDESTADDR option (nor, incidentally, does it support the msg_flags option in msghdr - see p.390). This considerably complicates things. In the absence of IP_RECVDESTADDR, what the server has to do as part of its initialization phase is to bind each IP address it has (and, simultaneously, its well-known port number, which it has read in from server.in) to a separate UDP socket. The code in Section 22.6, which uses the get_ifi_info function, shows you how to do that. However, there are important differences between that code and the version you want to implement. The code of Section 22.6 binds the IP addresses and forks off a child for each address that is bound to. We do not want to do that. Instead you should have an array of socket descriptors. For each IP address, create a new socket and bind the address (and well-known port number) to the socket without forking off child processes. Creating child processes comes later, when clients arrive. The code of Section 22.6 also attempts to bind broadcast addresses. We do not want to do this. It binds a wildcard IP address, which we certainly do not want to do either. We should bind strictly only unicast addresses (including the loopback address). The get_ifi_info function (which the code in Section 22.6 uses) has to be modified so that it also gets the network masks for the IP addresses of the node, and adds these to the information stored in the linked list of ifi_info structures (see Figure 17.5, p.471) it produces. As you go binding each IP address to a distinct socket, it will be useful for later processing to build your own array of structures, where a structure element records the following information for each socket : sockfd IP address bound to the socket network mask for the IP address subnet address (obtained by doing a bit-wise and between the IP address and its network mask) Report, in a ReadMe file which you hand in with your code, on the modifications you had to introduce to ensure that only unicast addresses are bound, and on your implementation of the array of structures described above. You should print out on stdout, with an appropriate message and appropriately formatted in dotted decimal notation, the IP address, network mask, and subnet address for each socket in your array of structures (you do not need to print the sockfd). The server now uses select to monitor the sockets it has created for incoming datagrams. When it returns from select, it must use recvfrom or recvmsg to read the incoming datagram (see 6. below). When a client starts, it first reads its arguments from the file client.in. The client checks if the server host is ‘local’ to its (extended) Ethernet. If so, all its communication to the server is to occur as MSG_DONTROUTE (or SO_DONTROUTE socket option). It determines if the server host is ‘local’ as follows. The first thing the client should do is to use the modified get_ifi_info function to obtain all of its IP addresses and associated network masks. Print out on stdout, in dotted decimal notation and with an appropriate message, the IP addresses and network masks obtained. In the following, IPserver designates the IP address the client will use to identify the server, and IPclient designates the IP address the client will choose to identify itself. The client checks whether the server is on the same host. If so, it should use the loopback address 127.0.0.1 for the server (i.e. , IPserver = 127.0.0.1). IPclient should also be set to the loopback address. Otherwise it proceeds as follows: IPserver is set to the IP address for the server in the client.in file. Given IPserver and the (unicast) IP addresses and network masks for the client returned by get_ifi_info in the linked list of ifi_info structures, you should be able to figure out if the server node is ‘local’ or not. This will be discussed in class; but let me just remind you here that you should use ‘longest prefix matching’ where applicable. If there are multiple client addresses, and the server host is ‘local’, the client chooses an IP address for itself, IPclient, which matches up as ‘local’ according to your examination above. If the server host is not ‘local’, then IPclient can be chosen arbitrarily. Print out on stdout the results of your examination, as to whether the server host is ‘local’ or not, as well as the IPclient and IPserver addresses selected. Note that this manner of determining whether the server is local or not is somewhat clumsy and ‘over-engineered’, and, as such, should be viewed more in the nature of a pedagogical exercise. Ideally, we would like to look up the server IP address(es) in the routing table (see Section 18.3). This requires that a routing socket be created, for which we need superuser privilege. Alternatively, we might want to dump out the routing table, using the sysctl function for example (see Section 18.4), and examine it directly. Unfortunately, Solaris 2.10 does not support sysctl. Furthermore, note that there is a slight problem with the address 130.245.1.123/24 assigned to compserv3 (see rightmost column of file hosts, and note that this particular compserv3 address “overlaps” with the 130.245.1.x/28 addresses in that same column assigned to compserv1, compserv2 & comserv4). In particular, if the client is running on compserv3 and the server on any of the other three compservs, and if that server node is also being identified to the client by its /28 (rather than its /24) address, then the client will get a “false positive” when it tests as to whether the server node is local or not. In other words, the client will deem the server node to be local, whereas in fact it should not be considered local. Because of this, it is perhaps best simply not to use compserv3 to run the client (but it is o.k. to use it to run the server). Finally, using MSG_DONTROUTE where possible would seem to gain us efficiency, in as much as the kernel does not need to consult the routing table for every datagram sent. But, in fact, that is not so. Recall that one effect of connect with UDP sockets is that routing information is obtained by the kernel at the time the connect is issued. That information is cached and used for subsequent sends from the connected socket (see p.255). The client now creates a UDP socket and calls bind on IPclient, with 0 as the port number. This will cause the kernel to bind an ephemeral port to the socket. After the bind, use the getsockname function (Section 4.10) to obtain IPclient and the ephemeral port number that has been assigned to the socket, and print that information out on stdout, with an appropriate message and appropriately formatted. The client connects its socket to IPserver and the well-known port number of the server. After the connect, use the getpeername function (Section 4.10) to obtain IPserver and the well-known port number of the server, and print that information out on stdout, with an appropriate message and appropriately formatted. The client sends a datagram to the server giving the filename for the transfer. This send needs to be backed up by a timeout in case the datagram is lost. Note that the incoming datagram from the client will be delivered to the server at the socket to which the destination IP address that the datagram is carrying has been bound. Thus, the server can obtain that address (it is, of course, IPserver) and thereby achieve what IP_RECVDESTADDR would have given us had it been available. Furthermore, the server process can obtain the IP address (this will, of course, be IPclient) and ephemeral port number of the client through the recvfrom or recvmsg functions. The server forks off a child process to handle the client. The server parent process goes back to the select to listen for new clients. Hereafter, and unless otherwise stated, whenever we refer to the ‘server’, we mean the server child process handling the client’s file transfer, not the server parent process. Typically, the first thing the server child would be expected to do is to close all sockets it ‘inherits’ from its parent. However, this is not the case with us. The server child does indeed close the sockets it inherited, but not the socket on which the client request arrived. It leaves that socket open for now. Call this socket the ‘listening’ socket. The server (child) then checks if the client host is local to its (extended) Ethernet. If so, all its communication to the client is to occur as MSG_DONTROUTE (or SO_DONTROUTE socket option). If IPserver (obtained in 5. above) is the loopback address, then we are done. Otherwise, the server has to proceed with the following step. Use the array of structures you built in 1. above, together with the addresses IPserver and IPclient to determine if the client is ‘local’. Print out on stdout the results of your examination, as to whether the client host is ‘local’ or not. The server (child) creates a UDP socket to handle file transfer to the client. Call this socket the ‘connection’ socket. It binds the socket to IPserver, with port number 0 so that its kernel assigns an ephemeral port. After the bind, use the getsockname function (Section 4.10) to obtain IPserver and the ephemeral port number that has been assigned to the socket, and print that information out on stdout, with an appropriate message and appropriately formatted. The server then connects this ‘connection’ socket to the client’s IPclient and ephemeral port number. The server now sends the client a datagram, in which it passes it the ephemeral port number of its ‘connection’ socket as the data payload of the datagram. This datagram is sent using the ‘listening’ socket inherited from its parent, otherwise the client (whose socket is connected to the server’s ‘listening’ socket at the latter’s well-known port number) will reject it. This datagram must be backed up by the ARQ mechanism, and retransmitted in the event of loss. Note that if this datagram is indeed lost, the client might well time out and retransmit its original request message (the one carrying the file name). In this event, you must somehow ensure that the parent server does not mistake this retransmitted request for a new client coming in, and spawn off yet another child to handle it. How do you do that? It is potentially more involved than it might seem. I will be discussing this in class, as well as ‘race’ conditions that could potentially arise, depending on how you code the mechanisms I present. When the client receives the datagram carrying the ephemeral port number of the server’s ‘connection’ socket, it reconnects its socket to the server’s ‘connection’ socket, using IPserver and the ephemeral port number received in the datagram (see p.254). It now uses this reconnected socket to send the server an acknowledgment. Note that this implies that, in the event of the server timing out, it should retransmit two copies of its ‘ephemeral port number’ message, one on its ‘listening’ socket and the other on its ‘connection’ socket (why?). When the server receives the acknowledgment, it closes the ‘listening’ socket it inherited from its parent. The server can now commence the file transfer through its ‘connection’ socket. The net effect of all these binds and connects at server and client is that no ‘outsider’ UDP datagram (broadcast, multicast, unicast - fortuitously or maliciously) can now intrude on the communication between server and client. Starting with the first datagram sent out, the client behaves as follows. Whenever a datagram arrives, or an ACK is about to be sent out (or, indeed, the initial datagram to the server giving the filename for the transfer), the client uses some random number generator function random() (initialized by the client.in argument value seed) to decide with probability p (another client.in argument value) if the datagram or ACK should be discarded by way of simulating transmission loss across the network. (I will briefly discuss in class how you do this.) Adding reliability to UDP The mechanisms you are to implement are based on TCP Reno. These include : Reliable data transmission using ARQ sliding-windows, with Fast Retransmit. Flow control via receiver window advertisements. Congestion control that implements : SlowStart Congestion Avoidance (‘Additive-Increase/Multiplicative Decrease’ – AIMD) Fast Recovery (but without the window-inflation aspect of Fast Recovery) Only some, and by no means all, of the details for these are covered below. The rest will be presented in class, especially those concerning flow control and TCP Reno’s congestion control mechanisms in general : Slow Start, Congestion Avoidance, Fast Retransmit and Fast Recovery. Implement a timeout mechanism on the sender (server) side. This is available to you from Stevens, Section 22.5 . Note, however, that you will need to modify the basic driving mechanism of Figure 22.7 appropriately since the situation at the sender side is not a repetitive cycle of send-receive, but rather a straightforward progression of send-send-send-send- . . . . . . . . . . . Also, modify the RTT and RTO mechanisms of Section 22.5 as specified below. I will be discussing the details of these modifications and the reasons for them in class. Modify function rtt_stop (Fig. 22.13) so that it uses integer arithmetic rather than floating point. This will entail your also having to modify some of the variable and function parameter declarations throughout Section 22.5 from float to int, as appropriate. In the unprrt.h header file (Fig. 22.10) set : RTT_RXTMIN to 1000 msec. (1 sec. instead of the current value 3 sec.) RTT_RXTMAX to 3000 msec. (3 sec. instead of the current value 60 sec.) RTT_MAXNREXMT to 12 (instead of the current value 3) In function rtt_timeout (Fig. 22.14), after doubling the RTO in line 86, pass its value through the function rtt_minmax of Fig. 22.11 (somewhat along the lines of what is done in line 77 of rtt_stop, Fig. 22.13). Finally, note that with the modification to integer calculation of the smoothed RTT and its variation, and given the small RTT values you will experience on the cs / sbpub network, these calculations should probably now be done on a millisecond or even microsecond scale (rather than in seconds, as is the case with Stevens’ code). Otherwise, small measured RTTs could show up as 0 on a scale of seconds, yielding a negative result when we subtract the smoothed RTT from the measured RTT (line 72 of rtt_stop, Fig. 22.13). Report the details of your modifications to the code of Section 22.5 in the ReadMe file which you hand in with your code. We need to have a sender sliding window mechanism for the retransmission of lost datagrams; and a receiver sliding window in order to ensure correct sequencing of received file contents, and some measure of flow control. You should implement something based on TCP Reno’s mechanisms, with cumulative acknowledgments, receiver window advertisements, and a congestion control mechanism I will explain in detail in class. For a reference on TCP’s mechanisms generally, see W. Richard Stevens, TCP/IP Illustrated, Volume 1 , especially Sections 20.2 - 20.4 of Chapter 20 , and Sections 21.1 - 21.8 of Chapter 21 . Bear in mind that our sequence numbers should count datagrams, not bytes as in TCP. Remember that the sender and receiver window sizes have to be set according to the argument values in client.in and server.in, respectively. Whenever the sender window becomes full and so ‘locks’, the server should print out a message to that effect on stdout. Similarly, whenever the receiver window ‘locks’, the client should print out a message on stdout. Be aware of the potential for deadlock when the receiver window ‘locks’. This situation is handled by having the receiver process send a duplicate ACK which acts as a window update when its window opens again (see Figure 20.3 and the discussion about it in TCP/IP Illustrated). However, this is not enough, because ACKs are not backed up by a timeout mechanism in the event they are lost. So we will also need to implement a persist timer driving window probes in the sender process (see Sections 22.1 & 22.2 in Chapter 22 of TCP/IP Illustrated). Note that you do not have to worry about the Silly Window Syndrome discussed in Section 22.3 of TCP/IP Illustrated since the receiver process consumes ‘full sized’ 512-byte messages from the receiver buffer (see 3. below). Report on the details of the ARQ mechanism you implemented in the ReadMe file you hand in. Indeed, you should report on all the TCP mechanisms you implemented in the ReadMe file, both the ones discussed here, and the ones I will be discussing in class. Make your datagram payload a fixed 512 bytes, inclusive of the file transfer protocol header (which must, at the very least, carry: the sequence number of the datagram; ACKs; and advertised window notifications). The client reads the file contents in its receive buffer and prints them out on stdout using a separate thread. This thread sits in a repetitive loop till all the file contents have been printed out, doing the following. It samples from an exponential distribution with mean µ milliseconds (read from the client.in file), sleeps for that number of milliseconds; wakes up to read and print all in-order file contents available in the receive buffer at that point; samples again from the exponential distribution; sleeps; and so on. The formula -1 × µ × ln( random( ) ) , where ln is the natural logarithm, yields variates from an exponential distribution with mean µ, based on the uniformly-distributed variates over ( 0 , 1 ) returned by random(). Note that you will need to implement some sort of mutual exclusion/semaphore mechanism on the client side so that the thread that sleeps and wakes up to consume from the receive buffer is not updating the state variables of the buffer at the same time as the main thread reading from the socket and depositing into the buffer is doing the same. Furthermore, we need to ensure that the main thread does not effectively monopolize the semaphore (and thus lock out for prolonged periods of time) the sleeping thread when the latter wakes up. See the textbook, Section 26.7, ‘Mutexes: Mutual Exclusion’, pp.697-701. You might also find Section 26.8, ‘Condition Variables’, pp.701-705, useful. You will need to devise some way by which the sender can notify the receiver when it has sent the last datagram of the file transfer, without the receiver mistaking that EOF marker as part of the file contents. (Also, note that the last data segment could be a “short” segment of less than 512 bytes – your client needs to be able to handle this correctly somehow.) When the sender receives an ACK for the last datagram of the transfer, the (child) server terminates. The parent server has to take care of cleaning up zombie children. Note that if we want a clean closing, the client process cannot simply terminate when the receiver ACKs the last datagram. This ACK could be lost, which would leave the (child) server process ‘hanging’, timing out, and retransmitting the last datagram. TCP attempts to deal with this problem by means of the TIME_WAIT state. You should have your receiver process behave similarly, sticking around in something akin to a TIME_WAIT state in case in case it needs to retransmit the ACK. In the ReadMe file you hand in, report on how you dealt with the issues raised here: sender notifying receiver of the last datagram, clean closing, and so on. Output Some of the output required from your program has been described in the section Operation above. I expect you to provide further output – clear, well-structured, well-laid-out, concise but sufficient and helpful – in the client and server windows by means of which we can trace the correct evolution of your TCP’s behaviour in all its intricacies : information (e.g., sequence number) on datagrams and acks sent and dropped, window advertisements, datagram retransmissions (and why : dup acks or RTO); entering/exiting Slow Start and Congestion Avoidance, ssthresh and cwnd values; sender and receiver windows locking/unlocking; etc., etc. . . . . The onus is on you to convince us that the TCP mechanisms you implemented are working correctly. Too many students do not put sufficient thought, creative imagination, time or effort into this. It is not the TA’s nor my responsibility to sit staring at an essentially blank screen, trying to summon up our paranormal psychology skills to figure out if your TCP implementation is really working correctly in all its very intricate aspects, simply because the transferred file seems to be printing o.k. in the client window. Nor is it our responsibility to strain our eyes and our patience wading through a mountain of obscure, ill-structured, hyper-messy, debugging-style output because, for example, your effort-conserving concept of what is ‘suitable’ is to dump your debugging output on us, relevant, irrelevant, and everything in between.

    From user soyjun

  • soyjun / tcp-socket-client-server

    CS-Notes, The aim of this assignment is to have you do TCP socket client / server programming using I/O multiplexing, child processes and threads. It also aims at getting you to familiarize yourselves with the inetd superserver daemon, the ‘exec’ family of functions, various socket error scenarios, some socket options, and some basic domain name / IP address conversion functions. Apart from the material in Chapters 1 to 6 covered in class, you will also need to refer to the following : the exec family of functions (Section 4.7 of Chapter 4) using pipes for interprocess communication (IPC) in Unix error scenarios induced by process terminations & host crashes (Sections 5.11 to 5.16, Chapter 5) setsockopt function & SO_REUSEADDR socket option (Section 7.2 & pp.210-213, Chapter 7) gethostbyname & gethostbyaddr functions (Sections 11.3 & 11.4, Chapter 11) the basic structure of inetd (Section 13.5, Chapter 13) programming with threads (Sections 26.1 to 26.5, Chapter 26) Overview I shall present an overview of this assignment and discuss some of the specification details given below in class on Wednesday, September 17 & Monday, September 22. Client The client is evoked with a command line argument giving either the server IP address in dotted decimal notation, or the server domain name. The client has to be able to handle either mode and figure out which of the two is being passed to it. If it is given the IP address, it calls the gethostbyaddr function to get the domain name, which it then prints out to the user in the form of an appropriate message (e.g., ‘The server host is compserv1.cs.stonybrook.edu’). The function gethostbyname, on the other hand, returns the IP address that corresponds to a given domain name. The client then enters an infinite loop in which it queries the user which service is being requested. There are two options : echo and time (note that time is a slightly modified version of the daytime service – see below). The client then forks off a child. After the child is forked off, the parent process enters a second loop in which it continually reads and prints out status messages received from the child via a half-duplex pipe (see below). The parent exits the second loop when the child closes the pipe (how does the parent detect this?), and/or the SIGCHLD signal is generated when the child terminates. The parent then repeats the outer loop, querying the user again for the (next) service s/he desires. This cycle continues till the user responds to a query with quit rather than echo or time. The child process is the one which handles the actual service for the user. It execs (see Section 4.7, Chapter 4) an xterm to generate a separate window through which all interactions with server and user take place. For example, the following exec function call evokes an xterm, and gets the xterm to execute echocli, located in the current directory, passing the string 127.0.0.1 (assumed to be the IP address of the server) as the command line argument argv[1] to echocli (click on the url for further details) : execlp("xterm", "xterm", "-e", "./echocli", "127.0.0.1", (char *) 0) xterm executes one of two client programs (echocli or timecli, say) depending on the service requested. A client program establishes a TCP connection to the server at the ‘well-known port’ for the service (in reality, this port will, of course, be some ephemeral port of your choosing, the value of which is known to both server and client code). All interaction with the user, on the one hand, and with the server, on the other, takes place through the child’s xterm window, not the parent’s window. On the other hand, the child will use a half-duplex pipe to relay status information to the parent which the parent prints out in its window (see below).To terminate the echo client, the user can type in ^D (CTRL D, the EOF character). To terminate the time client, the only option is for the user to type in ^C (CTRL C). (This can also be used as an alternative means of terminating the echo client.) Note that using ^C in the context of the time service will give the server process the impression that the client process has ‘crashed’. It is your responsibility to ensure that the server process handles this correctly and closes cleanly. I shall address this further when discussing the server process. It is also part of your responsibility in this assignment to ensure that the client code is robust with respect to the server process crashing (see Sections 5.12 & 5.13, Chapter 5). Amongst other implications, this means that it would probably be a good idea for you to implement your echo client code along the lines of either : Figure 6.9, p.168 (or even Figure 6.13, p.174) which uses I/O multiplexing with the select function; or of Figure 26.2, p.680, which uses threads; rather than along the lines of Figure 5.5, p.125. When the child terminates, either normally or abnormally, its xterm window disappears instantaneously. Consequently, any status information that the child might want to communicate to the user should not be printed out on the child’s xterm window, since the user will not have time to see the final such message before the window disappears. Instead, as the parent forks off the child at the beginning, a half-duplex pipe should be established from child to parent. The child uses the pipe to send status reports to the parent, which the parent prints out in its window. I leave it up to you to decide what status information exactly should be relayed to the parent but, at a minimum, the parent should certainly be notified, in as precise terms as possible, of any abnormal termination conditions of the service provided by the child. In general, you should try to make your code as robust as possible with respect to handling errors, including confused behaviour by the user (e.g., passing an invalid command line argument; responding to a query incorrectly; trying to interact with the service through the parent process window, not the child process xterm; etc.). Amongst other things, you have to worry about EINTR errors occurring during slow system calls (such as the parent reading from the pipe, or, possibly, printing to stdout, for example) due to a SIGCHLD signal. What about other kinds of errors? Which ones can occur? How should you handle them? Server The server has to be able to handle multiple clients using threads (specifically, detached threads), not child processes (see Sections 26.1 to 26.4, Chapter 26). Furthermore, it has to be able to handle multiple types of service; in our case, two : echo and time. echo is just the standard echo service we have seen in class. time is a slightly modified version of the daytime service (see Figure 1.9, p.14) : instead of sending the client the ‘daytime’ just once and closing, the service sits in an infinite loop, sending the ‘daytime’, sleeping for 5 seconds, and repeating, ad infinitum. The server is loosely based on the way the inetd daemon works : see Figure 13.7, p.374. However, note that the differences between inetd and our server are probably more significant than the similarities: inetd forks off children, whereas our server uses threads; inetd child processes issue exec commands, which our server threads do not; etc. So you should treat Figure 13.7 (and Section 13.5, Chapter 13, generally) as a source of ideas, not as a set of specifications which you must slavishly adhere to and copy. Note, by the way, that there are some similarities between our client and inetd (primarily, forking off children which issue execs), which could be a useful source of ideas. The server creates a listening socket for each type of service that it handles, bound to the ‘well-known port’ for that service. It then uses select to await clients (Chapter 6; or, if you prefer, poll; note that pselect is not supported in Solaris 2.10). The socket on which a client connects identifies the service the client is seeking. The server accepts the connection and creates a thread which provides the service. The thread detaches itself. Meanwhile, the main thread goes back to the select to await further clients. A major concern when using threads is to make sure that operations are thread safe (see p.685 and on into Section 26.5). In this respect, Stevens’ readline function (in Stevens’ file unpv13e/lib/readline.c, see Figure 3.18, pp.91-92) poses a particular problem. On p.686, the authors give three options for dealing with this. The third option is too inefficient and should be discarded. You can implement the second option if you wish. Easiest of all would be the first option, since it involves using a thread-safe version of readline (see Figures 26.11 & 26.12) provided in file unpv13e/threads/readline.c. Whatever you do, remember that Stevens’ library, libunp.a, contains the non-thread-safe version of Figure 3.18, and that is the version that will be link-loaded to your code unless you undertake explicit steps to ensure this does not happen (libunp.a also contains the ‘wrapper’ function Readline, whose code is also in file unpv13e/lib/readline.c). Remaking your copy of libunp.a with the ‘correct’ version of readline is not a viable option because when you hand in your code, it will be compiled and link-loaded with respect to the version of libunp.a in the course account, ~cse533/Stevens/unpv13e_solaris2.10 (I do not intend to change that version since it risks creating confusion later on in the course). Also, you will probably want to use the original version of readline in the client code anyway. I am providing you with a sample Makefile which picks up the thread-safe version of readline from directory ~cse533/Stevens/unpv13e_solaris2.10/threads and uses it when making the executable for the server, but leaves the other executables it makes to link-load the non-thread-safe version from libunp.a. Again, it is part of your responsibility to make sure that your server code is as robust as possible with respect to errors, and that the server threads terminate cleanly under all circumstances. Recall, first of all, that the client user will often use ^C (CTRL C) in the xterm to terminate the service. This will appear to the server thread as if the client process has crashed. You need to think about the error conditions that will be induced (see Sections 5.11 to 5.13, Chapter 5), and how the echo and time server code is to detect and handle these conditions. For example, the time server will almost certainly experience an EPIPE error (see Section 5.13). How should the associated SIGPIPE signal be handled? Be aware that when we return out of the Stevens’ writen function with -1 (indicating an error) and check errno, errno is sometimes equal to 0, not EPIPE (value 32). This can happen under Solaris 2.10, but I am not sure under precisely what conditions nor why. Nor am I sure if it also happens under other Unix versions, or if it also happens when using write rather than writen. The point is, you cannot depend on errno to find out what has happened to the write or writen functions. My suggestion, therefore, is that the time server should use the select function. On the one hand, select’s timeout mechanism can be used to make the server sleep for the 5 seconds. On the other hand, select should also monitor the connection socket read event because, when the client xterm is ^C’ed, a FIN will be sent to the server TCP, which will prime the socket for reading; a read on the socket will then return with value 0 (see Figure 14.3, p. 385 as an example). But what about errors other than EPIPE? Which ones can occur? How should you handle them? Recall, as well, that if a thread terminates without explicitly closing the connection socket it has been using, the connection socket will remain existent until the server process itself dies (why?). Since the server process is supposed, in principle, to run for ever, you risk ending up with an ever increasing number of unused, ‘orphaned’ sockets unless you are careful. Whenever a server thread detects the termination of its client, it should print out a message giving appropriate details: e.g., “Client termination: EPIPE error detected”, “Client termination: socket read returned with value 0”, “Client termination: socket read returned with value -1, errno = . . .”, and so on. When debugging your server code, you will probably find that restarting the server very shortly after it was last running will give you trouble when it comes to bind to its ‘well-known ports’. This is because, when the server side initiates connection termination (which is what will happen if the server process crashes; or if you kill it first, before killing the client) TCP keeps the connections open in the TIME_WAIT state for 2MSLs (Sections 2.6 & 2.7, Chapter 2). This could very quickly become a major irritant. I suggest you explore the possibility of using the SO_REUSEADDR socket option (pp.210-213, Chapter 7; note that the SO_REUSEPORT socket option is not supported in Solaris 2.10), which should help keep the stress level down. You will need to use the setsockopt function (Section 7.2) to enable this option. Figure 8.24, p.263, shows an instance of server code that sets the SO_REUSEADDR socket option. Finally, you should be aware of the sort of problem, described in Section 16.6, pp.461-463, that might occur when (blocking) listening sockets are monitored using select. Such sockets should be made nonblocking, which requires use of the fcntl function after socket creates the socket, but before listen turns the socket into a listening socket.

    From user soyjun

  • zjs2107 / note-cs

    CS-Notes, This repository contains some notes and materials that I took while learning some CS courses.

    From user zjs2107

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.