altosui: Add bluetooth bits back in
[fw/altos] / altosui / libaltos / libaltos.c
index 00a75de9b2ac976521f8e7c15b096ae7499a7f0a..a3796ee380e9d0b2a3516719b946cfe3c5d0e276 100644 (file)
@@ -559,7 +559,7 @@ altos_list_start(void)
                if (USB_IS_ALTUSMETRUM(dev->idVendor, dev->idProduct)) {
                        if (devs->dev)
                                devs->dev = realloc(devs->dev,
-                                                   devs->ndev + 1 * sizeof (struct usbdev *));
+                                                   (devs->ndev + 1) * sizeof (struct usbdev *));
                        else
                                devs->dev = malloc (sizeof (struct usbdev *));
                        devs->dev[devs->ndev++] = dev;
@@ -598,7 +598,6 @@ altos_list_finish(struct altos_list *usbdevs)
        free(usbdevs);
 }
 
-#if HAS_BLUETOOTH
 struct altos_bt_list {
        inquiry_info    *ii;
        int             sock;
@@ -730,7 +729,6 @@ no_sock:
 no_file:
        return NULL;
 }
-#endif /* HAS_BLUETOOTH */
 
 #endif
 
@@ -794,8 +792,8 @@ get_number(io_object_t object, CFStringRef entry, int *result)
        return 0;
 }
 
-struct altos_list *
-altos_list_start(int time)
+PUBLIC struct altos_list *
+altos_list_start(void)
 {
        struct altos_list *list = calloc (sizeof (struct altos_list), 1);
        CFMutableDictionaryRef matching_dictionary = IOServiceMatching("IOUSBDevice");
@@ -810,7 +808,7 @@ altos_list_start(int time)
        return list;
 }
 
-int
+PUBLIC int
 altos_list_next(struct altos_list *list, struct altos_device *device)
 {
        io_object_t object;
@@ -837,13 +835,55 @@ altos_list_next(struct altos_list *list, struct altos_device *device)
        }
 }
 
-void
+PUBLIC void
 altos_list_finish(struct altos_list *list)
 {
        IOObjectRelease (list->iterator);
        free(list);
 }
 
+struct altos_bt_list {
+       int             sock;
+       int             dev_id;
+       int             rsp;
+       int             num_rsp;
+};
+
+#define INQUIRY_MAX_RSP        255
+
+struct altos_bt_list *
+altos_bt_list_start(int inquiry_time)
+{
+       return NULL;
+}
+
+int
+altos_bt_list_next(struct altos_bt_list *bt_list,
+                  struct altos_bt_device *device)
+{
+       return 0;
+}
+
+void
+altos_bt_list_finish(struct altos_bt_list *bt_list)
+{
+}
+
+void
+altos_bt_fill_in(char *name, char *addr, struct altos_bt_device *device)
+{
+       strncpy(device->name, name, sizeof (device->name));
+       device->name[sizeof(device->name)-1] = '\0';
+       strncpy(device->addr, addr, sizeof (device->addr));
+       device->addr[sizeof(device->addr)-1] = '\0';
+}
+
+struct altos_file *
+altos_bt_open(struct altos_bt_device *device)
+{
+       return NULL;
+}
+
 #endif
 
 
@@ -882,7 +922,7 @@ altos_list_start(void)
        list->dev_info = SetupDiGetClassDevs(NULL, "USB", NULL,
                                             DIGCF_ALLCLASSES|DIGCF_PRESENT);
        if (list->dev_info == INVALID_HANDLE_VALUE) {
-               printf("SetupDiGetClassDevs failed %d\n", GetLastError());
+               printf("SetupDiGetClassDevs failed %ld\n", GetLastError());
                free(list);
                return NULL;
        }
@@ -894,13 +934,13 @@ PUBLIC int
 altos_list_next(struct altos_list *list, struct altos_device *device)
 {
        SP_DEVINFO_DATA dev_info_data;
-       char            port[128];
+       BYTE            port[128];
        DWORD           port_len;
        char            friendlyname[256];
-       char            symbolic[256];
+       BYTE            symbolic[256];
        DWORD           symbolic_len;
        HKEY            dev_key;
-       int             vid, pid;
+       unsigned int    vid, pid;
        int             serial;
        HRESULT         result;
        DWORD           friendlyname_type;
@@ -931,11 +971,11 @@ altos_list_next(struct altos_list *list, struct altos_device *device)
                        continue;
                }
                vid = pid = serial = 0;
-               sscanf(symbolic + sizeof("\\??\\USB#VID_") - 1,
+               sscanf((char *) symbolic + sizeof("\\??\\USB#VID_") - 1,
                       "%04X", &vid);
-               sscanf(symbolic + sizeof("\\??\\USB#VID_XXXX&PID_") - 1,
+               sscanf((char *) symbolic + sizeof("\\??\\USB#VID_XXXX&PID_") - 1,
                       "%04X", &pid);
-               sscanf(symbolic + sizeof("\\??\\USB#VID_XXXX&PID_XXXX#") - 1,
+               sscanf((char *) symbolic + sizeof("\\??\\USB#VID_XXXX&PID_XXXX#") - 1,
                       "%d", &serial);
                if (!USB_IS_ALTUSMETRUM(vid, pid)) {
                        RegCloseKey(dev_key);
@@ -971,12 +1011,12 @@ altos_list_next(struct altos_list *list, struct altos_device *device)
                device->serial = serial;
                strcpy(device->name, friendlyname);
 
-               strcpy(device->path, port);
+               strcpy(device->path, (char *) port);
                return 1;
        }
        result = GetLastError();
        if (result != ERROR_NO_MORE_ITEMS)
-               printf ("SetupDiEnumDeviceInfo failed error %d\n", result);
+               printf ("SetupDiEnumDeviceInfo failed error %d\n", (int) result);
        return 0;
 }
 
@@ -1059,10 +1099,10 @@ altos_fill(struct altos_file *file, int timeout)
 PUBLIC int
 altos_flush(struct altos_file *file)
 {
-       DWORD   put;
-       char    *data = file->out_data;
-       char    used = file->out_used;
-       DWORD   ret;
+       DWORD           put;
+       unsigned char   *data = file->out_data;
+       int             used = file->out_used;
+       DWORD           ret;
 
        while (used) {
                if (!WriteFile(file->handle, data, used, &put, &file->ov_write)) {
@@ -1150,7 +1190,7 @@ altos_free(struct altos_file *file)
        free(file);
 }
 
-int
+PUBLIC int
 altos_putchar(struct altos_file *file, char c)
 {
        int     ret;
@@ -1166,7 +1206,7 @@ altos_putchar(struct altos_file *file, char c)
        return LIBALTOS_SUCCESS;
 }
 
-int
+PUBLIC int
 altos_getchar(struct altos_file *file, int timeout)
 {
        int     ret;
@@ -1180,4 +1220,38 @@ altos_getchar(struct altos_file *file, int timeout)
        return file->in_data[file->in_read++];
 }
 
+struct altos_bt_list *
+altos_bt_list_start(int inquiry_time)
+{
+       return NULL;
+}
+
+int
+altos_bt_list_next(struct altos_bt_list *bt_list,
+                  struct altos_bt_device *device)
+{
+       return 0;
+}
+
+void
+altos_bt_list_finish(struct altos_bt_list *bt_list)
+{
+       free(bt_list);
+}
+
+void
+altos_bt_fill_in(char *name, char *addr, struct altos_bt_device *device)
+{
+       strncpy(device->name, name, sizeof (device->name));
+       device->name[sizeof(device->name)-1] = '\0';
+       strncpy(device->addr, addr, sizeof (device->addr));
+       device->addr[sizeof(device->addr)-1] = '\0';
+}
+
+struct altos_file *
+altos_bt_open(struct altos_bt_device *device)
+{
+       return NULL;
+}
+
 #endif