摘要:
首先新建一个线程,这个线程负责监控设备的插入拔出线程入口函数: 1 int DeviceThreadEntryForMac(ClassProcMan *pProcMan) 2 { 3 if(pProcMan == NULL) { 4 fprintf(stderr, "DeviceThreadEntryForMac called NULL pointer\n"); 5 return __LINE__; 6 } 7 mach_port_t masterPort; 8 CFMutableDictionary... 阅读全文
摘要:
看了Apple上的资料(真是又多又臭,组织真烂,还是E文的),说是针对不同的pid和vid的composite usb设备,只需要写一个codeless驱动就可以提供对该设备的访问。但是本人对Mac开发不熟,更不用说是驱动开发了。捣鼓好久没整出个能用的驱动,虽然说是codeless驱动。船到桥头自然直吧,看资料时发现,既然是composite usb设备,又说是codeless驱动,也就是说,即使不用驱动,直接就可以通过MACH的api来访问指定vid和pid的设备了吧,最后整出这个类,目前测试未发现问题。 1 // 2 // MyUSBDevice.h 3 // 4 // 5 /... 阅读全文
摘要:
之前一直用fread和fwrite,但是一直没有认真看过manual page。这次看apue才发现,自己之前有个误解。std io 操作size_t fwrite(const void *BUF, size_t SIZE, size_t COUNT, FILE *FP); If `fwrite' succeeds in writing all the elements you specify, the result is the same as the argument COUNT. In any event, the ... 阅读全文
摘要:
1 #define YEAR_BEGIN 1970 2 #define LEAPYEAR_DAY 366 3 #define NORMALYEAR_DAY 365 4 #define JANUARY 31 5 #define MARCH 31 6 #define APRIL 30 7 #define MAY 31 8 #define JUNE 30 9 #define JULY 31 10 #define AUGUST ... 阅读全文