Просмотр исходного кода

增加对设备的OPS的支持

yazoo.bao 7 лет назад
Родитель
Сommit
fe22bcded7
1 измененных файлов с 14 добавлено и 0 удалено
  1. 14 0
      telnet/telnet.c

+ 14 - 0
telnet/telnet.c

@@ -312,6 +312,16 @@ static rt_err_t telnet_control(rt_device_t dev, int cmd, void *args)
     return RT_EOK;
     return RT_EOK;
 }
 }
 
 
+#ifdef RT_USING_DEVICE_OPS
+    static struct rt_device_ops _ops = {
+        telnet_init,
+        telnet_open,
+        telnet_close,
+        telnet_read,
+        telnet_write,
+        telnet_control
+    };
+#endif
 /* telnet server thread entry */
 /* telnet server thread entry */
 static void telnet_thread(void* parameter)
 static void telnet_thread(void* parameter)
 {
 {
@@ -346,12 +356,16 @@ static void telnet_thread(void* parameter)
 
 
     /* register telnet device */
     /* register telnet device */
     telnet->device.type     = RT_Device_Class_Char;
     telnet->device.type     = RT_Device_Class_Char;
+#ifdef RT_USING_DEVICE_OPS
+    telnet->device.ops = &_ops;
+#else    
     telnet->device.init     = telnet_init;
     telnet->device.init     = telnet_init;
     telnet->device.open     = telnet_open;
     telnet->device.open     = telnet_open;
     telnet->device.close    = telnet_close;
     telnet->device.close    = telnet_close;
     telnet->device.read     = telnet_read;
     telnet->device.read     = telnet_read;
     telnet->device.write    = telnet_write;
     telnet->device.write    = telnet_write;
     telnet->device.control  = telnet_control;
     telnet->device.control  = telnet_control;
+#endif
 
 
     /* no private */
     /* no private */
     telnet->device.user_data = RT_NULL;
     telnet->device.user_data = RT_NULL;