int camera_abilities (CameraAbilitiesList *list) { CameraAbilities a; memset(&a, 0, sizeof(a)); strcpy(a.model, "Directory Browse"); a.status = GP_DRIVER_STATUS_PRODUCTION; a.port = GP_PORT_DISK; a.speed[0] = 0; a.operations = GP_OPERATION_NONE; #ifdef DEBUG a.file_operations = GP_FILE_OPERATION_PREVIEW | GP_FILE_OPERATION_DELETE | GP_FILE_OPERATION_EXIF; #else a.file_operations = GP_FILE_OPERATION_DELETE | GP_FILE_OPERATION_EXIF; #endif a.folder_operations = GP_FOLDER_OPERATION_MAKE_DIR | GP_FOLDER_OPERATION_REMOVE_DIR | GP_FOLDER_OPERATION_PUT_FILE; gp_abilities_list_append(list, a); /* Since "Directory Browse" is hardcoded in clients, * better also add a new name here. */ strcpy(a.model, "Mass Storage Camera"); gp_abilities_list_append(list, a); return (GP_OK); }
int camera_abilities (CameraAbilitiesList *list) { CameraAbilities a; memset (&a, 0, sizeof(a)); strcpy(a.model, "Kodak:DC210"); a.status = GP_DRIVER_STATUS_PRODUCTION; a.port = GP_PORT_SERIAL; a.speed[0] = 9600; a.speed[1] = 19200; a.speed[2] = 38400; a.speed[3] = 57600; a.speed[4] = 115200; a.speed[5] = 0; a.operations = GP_OPERATION_CAPTURE_IMAGE | GP_OPERATION_CONFIG; a.file_operations = GP_FILE_OPERATION_DELETE | GP_FILE_OPERATION_PREVIEW; a.folder_operations = GP_FOLDER_OPERATION_NONE; gp_abilities_list_append(list, a); /* Mark Longridge <*****@*****.**> */ strcpy(a.model, "Kodak:DC215"); gp_abilities_list_append(list, a); return (GP_OK); }
int camera_abilities (CameraAbilitiesList *list) { CameraAbilities a; memset(&a, 0, sizeof(a)); #if defined HAVE_STRNCPY strncpy(a.model, "Minolta:Dimage V", sizeof(a.model)); #else strcpy(a.model, "Minolta:Dimage V"); #endif a.status = GP_DRIVER_STATUS_PRODUCTION; a.port = GP_PORT_SERIAL; a.speed[0] = 38400; a.speed[1] = 0; a.operations = GP_OPERATION_CAPTURE_IMAGE | GP_OPERATION_CAPTURE_PREVIEW; a.file_operations = GP_FILE_OPERATION_DELETE | GP_FILE_OPERATION_PREVIEW; a.folder_operations = GP_FOLDER_OPERATION_PUT_FILE | GP_FOLDER_OPERATION_DELETE_ALL; gp_abilities_list_append(list, a); return GP_OK; }
int camera_abilities (CameraAbilitiesList *list) { CameraAbilities a; int i; memset (&a, 0, sizeof (a)); for (i = 0; models[i].model; i++) { strcpy (a.model, models[i].model); a.port = GP_PORT_SERIAL; a.speed[0] = 9600; a.speed[1] = 19200; a.speed[2] = 38400; a.speed[3] = 56700; a.speed[4] = 115200; a.speed[5] = 0; a.folder_operations = GP_FOLDER_OPERATION_PUT_FILE; a.file_operations = GP_FILE_OPERATION_PREVIEW | GP_FILE_OPERATION_DELETE; a.operations = GP_OPERATION_CONFIG; CR (gp_abilities_list_append (list, a)); } return (GP_OK); }
/* Abilities are based upon what we can do with a DC240. Later cameras have a superset of the DC240 feature and are not currently supported. */ int camera_abilities (CameraAbilitiesList *list) { CameraAbilities a; int i; for (i = 0; camera_to_usb[i].name; i++) { memset (&a, 0, sizeof (a)); strcpy(a.model, camera_to_usb[i].name); a.status = GP_DRIVER_STATUS_PRODUCTION; a.port = GP_PORT_SERIAL | GP_PORT_USB; a.speed[0] = 9600; a.speed[1] = 19200; a.speed[2] = 38400; a.speed[3] = 57600; a.speed[4] = 115200; a.speed[5] = 0; a.usb_vendor = camera_to_usb[i].idVendor; a.usb_product = camera_to_usb[i].idProduct; a.operations = GP_OPERATION_CAPTURE_IMAGE; a.file_operations = GP_FILE_OPERATION_DELETE | GP_FILE_OPERATION_PREVIEW; a.folder_operations = GP_FOLDER_OPERATION_NONE; gp_abilities_list_append(list, a); } return (GP_OK); }
int camera_abilities(CameraAbilitiesList *list) { int i; CameraAbilities a; for (i = 0; models[i].name; i++) { memset (&a, 0, sizeof(a)); strncpy (a.model, models[i].name,32); a.status = models[i].status; a.port = GP_PORT_USB; a.speed[0] = 0; a.usb_vendor = models[i].idVendor; a.usb_product= models[i].idProduct; if (a.status == GP_DRIVER_STATUS_EXPERIMENTAL) a.operations = GP_OPERATION_NONE; else a.operations = GP_OPERATION_CAPTURE_PREVIEW; a.folder_operations = GP_FOLDER_OPERATION_DELETE_ALL; a.file_operations = GP_FILE_OPERATION_PREVIEW + GP_FILE_OPERATION_RAW; gp_abilities_list_append (list, a); } return GP_OK; }
int camera_abilities (CameraAbilitiesList* list) { int i; CameraAbilities a; for (i = 0; i < knc_count_devices (); i++) { memset(&a, 0, sizeof(a)); a.status = GP_DRIVER_STATUS_PRODUCTION; strcpy (a.model, knc_get_device_manufacturer (i)); strcat (a.model, ":"); strcat (a.model, knc_get_device_model (i)); a.port = GP_PORT_SERIAL; a.speed[0] = 300; a.speed[1] = 600; a.speed[2] = 1200; a.speed[3] = 2400; a.speed[4] = 4800; a.speed[5] = 9600; a.speed[6] = 19200; a.speed[7] = 38400; a.speed[8] = 57600; a.speed[9] = 115200; a.speed[10] = 0; a.operations = GP_OPERATION_CONFIG | GP_OPERATION_CAPTURE_IMAGE | GP_OPERATION_CAPTURE_PREVIEW; a.file_operations = GP_FILE_OPERATION_DELETE | GP_FILE_OPERATION_PREVIEW; a.folder_operations = GP_FOLDER_OPERATION_DELETE_ALL; gp_abilities_list_append (list, a); } return (GP_OK); }
int camera_abilities (CameraAbilitiesList *list) { CameraAbilities a; unsigned int i; for(i = 0; i < (sizeof(camera_to_usb) / sizeof(struct camera_to_usb)); i++) { memset(&a, 0, sizeof(a)); strcpy(a.model, camera_to_usb[i].name); a.port = GP_PORT_USB; a.status = GP_DRIVER_STATUS_EXPERIMENTAL; a.operations = GP_OPERATION_CAPTURE_IMAGE | GP_OPERATION_CAPTURE_PREVIEW; a.file_operations = GP_FILE_OPERATION_PREVIEW; a.folder_operations = GP_FOLDER_OPERATION_DELETE_ALL; a.usb_vendor = camera_to_usb[i].idVendor; a.usb_product = camera_to_usb[i].idProduct; gp_abilities_list_append(list, a); } return (GP_OK); }
int camera_abilities (CameraAbilitiesList *list) { int x = 0; char *ptr; CameraAbilities a; /* GP_DEBUG ("* camera_abilities"); */ ptr = models[x].model; while (ptr) { memset(&a, 0, sizeof(a)); strcpy (a.model, ptr ); a.status = GP_DRIVER_STATUS_PRODUCTION; a.port = GP_PORT_SERIAL | GP_PORT_USB; a.speed[0] = 57600; a.speed[1] = 0; /* fixme, need to set these operations lists to correct values */ a.operations = GP_OPERATION_NONE; a.file_operations = GP_FILE_OPERATION_PREVIEW; a.folder_operations = GP_FOLDER_OPERATION_NONE; a.usb_vendor = models[x].usb_vendor; a.usb_product = models[x].usb_product; gp_abilities_list_append (list, a); ptr = models[++x].model; } return (GP_OK); }
int camera_abilities (CameraAbilitiesList *list) { int x=0; CameraAbilities a; while (models[x]) { memset (&a, 0, sizeof(a)); strcpy(a.model, models[x]); a.status = GP_DRIVER_STATUS_PRODUCTION; a.port = GP_PORT_SERIAL; a.speed[0] = 9600; a.speed[1] = 14400; a.speed[2] = 19200; a.speed[3] = 38400; a.speed[4] = 57600; a.speed[5] = 76800; a.speed[6] = 115200; a.speed[7] = 0; a.operations = GP_OPERATION_CAPTURE_IMAGE | GP_OPERATION_CONFIG; a.file_operations = GP_FILE_OPERATION_PREVIEW; a.folder_operations = GP_FOLDER_OPERATION_NONE; gp_abilities_list_append(list, a); x++; } return (GP_OK); }
int camera_abilities (CameraAbilitiesList *list) { CameraAbilities a; int i; for (i = 0; tp6801_devinfo[i].vendor_id; i++) { memset (&a, 0, sizeof(a)); snprintf(a.model, sizeof (a.model), "TP6801 USB picture frame"); a.status = GP_DRIVER_STATUS_TESTING; a.port = GP_PORT_USB_SCSI; a.speed[0] = 0; a.usb_vendor = tp6801_devinfo[i].vendor_id; a.usb_product= tp6801_devinfo[i].product_id; a.operations = GP_OPERATION_NONE; a.folder_operations = GP_FOLDER_OPERATION_PUT_FILE | GP_FOLDER_OPERATION_DELETE_ALL; a.file_operations = GP_FILE_OPERATION_DELETE | GP_FILE_OPERATION_RAW; gp_abilities_list_append (list, a); } return GP_OK; }
int camera_abilities (CameraAbilitiesList *list) { int x = 0; char *ptr; CameraAbilities a; ptr = models[x].model; while (ptr) { memset (&a, 0, sizeof (a)); strcpy (a.model, ptr); a.status = GP_DRIVER_STATUS_EXPERIMENTAL; a.port = GP_PORT_USB; a.speed[0] = 0; a.file_operations = GP_FILE_OPERATION_PREVIEW | GP_FILE_OPERATION_DELETE; a.folder_operations = GP_FOLDER_OPERATION_DELETE_ALL; a.usb_vendor = models[x].usb_vendor; a.usb_product = models[x].usb_product; gp_abilities_list_append (list, a); ptr = models[++x].model; } return (GP_OK); }
int camera_abilities (CameraAbilitiesList *list) { CameraAbilities a; int i; for (i = 0; ax203_devinfo[i].vendor_id; i++) { memset (&a, 0, sizeof(a)); snprintf(a.model, sizeof (a.model), "AX203 USB picture frame firmware ver 3.%d.x", 3 + i); a.status = GP_DRIVER_STATUS_TESTING; a.port = GP_PORT_USB_SCSI; a.speed[0] = 0; a.usb_vendor = ax203_devinfo[i].vendor_id; a.usb_product= ax203_devinfo[i].product_id; a.operations = GP_OPERATION_NONE; a.folder_operations = GP_FOLDER_OPERATION_PUT_FILE | GP_FOLDER_OPERATION_DELETE_ALL; /* FIXME add support for downloading RAW images */ a.file_operations = GP_FILE_OPERATION_DELETE | GP_FILE_OPERATION_RAW; gp_abilities_list_append (list, a); } return GP_OK; }
int camera_abilities (CameraAbilitiesList *list) { CameraAbilities a; memset (&a, 0, sizeof(a)); a.status = GP_DRIVER_STATUS_PRODUCTION; a.port = GP_PORT_SERIAL; a.speed[0] = 9600; a.speed[1] = 19200; a.speed[2] = 57600; a.speed[3] = 115200; a.speed[4] = 0; a.operations = GP_OPERATION_NONE; a.file_operations = GP_FILE_OPERATION_DELETE | GP_FILE_OPERATION_PREVIEW; a.folder_operations = GP_FOLDER_OPERATION_DELETE_ALL; strncpy (a.model, "Panasonic:PV-L691", sizeof (a.model)); gp_abilities_list_append (list, a); strncpy (a.model, "Panasonic:PV-L859", sizeof (a.model)); gp_abilities_list_append (list, a); return GP_OK; }
int camera_abilities (CameraAbilitiesList *list) { CameraAbilities a; memset(&a, 0, sizeof(a)); strcpy(a.model, "Topfield:TF5000PVR"); a.status = GP_DRIVER_STATUS_EXPERIMENTAL; a.port = GP_PORT_USB; a.usb_vendor = 0x11db; a.usb_product = 0x1000; a.operations = GP_OPERATION_NONE; a.file_operations = GP_FILE_OPERATION_DELETE; a.folder_operations = GP_FOLDER_OPERATION_NONE; return gp_abilities_list_append(list, a); }
int camera_abilities (CameraAbilitiesList *list) { CameraAbilities a; memset(&a, 0, sizeof(a)); strcpy(a.model, "SiPix:Blink"); a.status = GP_DRIVER_STATUS_EXPERIMENTAL; a.port = GP_PORT_USB; a.usb_vendor = 0x0851; a.usb_product = 0x1542; a.operations = GP_OPERATION_NONE; a.file_operations = 0; a.folder_operations = GP_FOLDER_OPERATION_NONE; gp_abilities_list_append(list, a); return (GP_OK); }
int camera_abilities (CameraAbilitiesList *list) { int x = 0; char *ptr; CameraAbilities a; ptr = models[x].model; while (ptr) { memset (&a, 0, sizeof (a)); strcpy (a.model, ptr); a.port = GP_PORT_USB; a.speed[0] = 0; a.status = GP_DRIVER_STATUS_TESTING; a.file_operations = GP_FILE_OPERATION_PREVIEW | GP_FILE_OPERATION_DELETE; a.folder_operations = GP_FOLDER_OPERATION_DELETE_ALL; a.usb_vendor = models[x].usb_vendor; a.usb_product = models[x].usb_product; if (models[x].bridge == BRIDGE_SPCA504) { /* FIXME which cams can do it? */ if (a.usb_product == 0xc420 || a.usb_product == 0xc520) a.operations = GP_OPERATION_CAPTURE_IMAGE; } if (models[x].bridge == BRIDGE_SPCA504B_PD) { a.operations = GP_OPERATION_CAPTURE_IMAGE; } if (models[x].bridge == BRIDGE_SPCA500) { /* TEST enable capture for the DSC-350 style cams */ if (a.usb_vendor == 0x084d) { a.operations = GP_OPERATION_CAPTURE_IMAGE; } } gp_abilities_list_append (list, a); ptr = models[++x].model; } return (GP_OK); }
int camera_abilities (CameraAbilitiesList *list) { CameraAbilities a; memset(&a, 0, sizeof(a)); strcpy(a.model, "DigitalDream:Enigma1.3"); a.status = GP_DRIVER_STATUS_EXPERIMENTAL; a.port = GP_PORT_USB; a.speed[0] = 0; a.usb_vendor = 0x05da; a.usb_product = 0x1018; a.operations = GP_OPERATION_NONE; a.file_operations = GP_FILE_OPERATION_NONE; a.folder_operations = GP_FOLDER_OPERATION_DELETE_ALL; gp_abilities_list_append(list, a); return (GP_OK); }
int camera_abilities (CameraAbilitiesList *list) { CameraAbilities a; memset (&a, 0, sizeof(a)); strcpy (a.model, "ST2205 USB picture frame"); a.status = GP_DRIVER_STATUS_TESTING; a.port = GP_PORT_USB_DISK_DIRECT; a.speed[0] = 0; a.usb_vendor = 0x1403; a.usb_product= 0x0001; a.operations = GP_OPERATION_NONE; a.folder_operations = GP_FOLDER_OPERATION_PUT_FILE | GP_FOLDER_OPERATION_DELETE_ALL; a.file_operations = GP_FILE_OPERATION_DELETE | GP_FILE_OPERATION_RAW; return gp_abilities_list_append (list, a); }
int camera_abilities(CameraAbilitiesList * list) { int i; CameraAbilities a; for (i = 0; i < sizeof(models) / sizeof(models[i]); i++) { memset(&a, 0, sizeof(a)); strcpy(a.model, models[i].model_str); a.status = GP_DRIVER_STATUS_PRODUCTION; a.port = GP_PORT_SERIAL; a.speed[0] = 0; a.operations = GP_OPERATION_NONE; a.file_operations = GP_FILE_OPERATION_PREVIEW | GP_FILE_OPERATION_EXIF; a.folder_operations = GP_FOLDER_OPERATION_NONE; gp_abilities_list_append(list, a); } return (GP_OK); }
int camera_abilities (CameraAbilitiesList *list) { int i; CameraAbilities a; for (i = 0; models[i].model; i++) { memset (&a, 0, sizeof(a)); strcpy (a.model, models[i].model); a.status = GP_DRIVER_STATUS_PRODUCTION; a.port = GP_PORT_SERIAL; a.speed[0] = 115200; a.speed[1] = 0; a.operations = GP_OPERATION_NONE; a.file_operations = GP_FILE_OPERATION_NONE; a.folder_operations = GP_FOLDER_OPERATION_NONE; CHECK_RESULT (gp_abilities_list_append (list, a)); } return (GP_OK); }
int camera_abilities (CameraAbilitiesList *list) { int i; CameraAbilities a; for (i = 0; models[i].name; i++) { memset (&a, 0, sizeof (CameraAbilities)); strcpy (a.model, models[i].name); a.status = GP_DRIVER_STATUS_EXPERIMENTAL; a.port = GP_PORT_USB; a.usb_vendor = models[i].idVendor; a.usb_product = models[i].idProduct; a.operations = GP_OPERATION_NONE; a.file_operations = GP_FILE_OPERATION_DELETE; a.folder_operations = GP_FOLDER_OPERATION_DELETE_ALL; gp_abilities_list_append (list, a); } return GP_OK; }
/* * List all camera's abilities */ int camera_abilities (CameraAbilitiesList *list) { CameraAbilities a; memset(&a, 0, sizeof(a)); strcpy(a.model, "Konica:Q-M150"); a.status = GP_DRIVER_STATUS_EXPERIMENTAL; a.port = GP_PORT_SERIAL; a.speed[0] = 115200; a.speed[1] = 0; a.operations = GP_OPERATION_CAPTURE_IMAGE | GP_OPERATION_CAPTURE_PREVIEW | GP_OPERATION_CONFIG; a.file_operations = GP_FILE_OPERATION_DELETE | GP_FILE_OPERATION_EXIF | GP_FILE_OPERATION_PREVIEW; a.folder_operations = GP_FOLDER_OPERATION_DELETE_ALL | GP_FOLDER_OPERATION_PUT_FILE; gp_abilities_list_append(list, a); return (GP_OK); }
int camera_abilities(CameraAbilitiesList *list) { int i; CameraAbilities a; for(i=0; models[i].name; i++) { memset(&a, 0, sizeof(a)); strcpy(a.model, models[i].name); /* Agfa and Dshot types owned by author and tested */ /* Others the testing not quite certain */ if ( (models[i].idVendor==0x06bd) || (models[i].idVendor==0x0919)) a.status = GP_DRIVER_STATUS_PRODUCTION; else a.status = GP_DRIVER_STATUS_EXPERIMENTAL; /* For now all are USB. Have the spec for Serial */ /* If ever one shows up */ a.port = GP_PORT_USB; a.speed[0] = 0; a.usb_vendor = models[i].idVendor; a.usb_product= models[i].idProduct; /* All should support image capture */ a.operations = GP_OPERATION_CAPTURE_IMAGE; /* Folders not supported on any */ a.folder_operations = GP_FOLDER_OPERATION_NONE; a.file_operations = GP_FILE_OPERATION_PREVIEW | GP_FILE_OPERATION_DELETE; /* Dshot compat can upload files */ if (models[i].idVendor == 0x0919) { a.file_operations|=GP_FOLDER_OPERATION_PUT_FILE; } gp_abilities_list_append(list, a); } return GP_OK; }
int camera_abilities (CameraAbilitiesList *list) { int i; CameraAbilities a; memset (&a, 0, sizeof (CameraAbilities)); for (i = 0; models[i].model; i++) { strcpy (a.model, models[i].model); a.status = GP_DRIVER_STATUS_EXPERIMENTAL; a.port = GP_PORT_SERIAL; a.operations = GP_OPERATION_CAPTURE_IMAGE | GP_OPERATION_CONFIG; a.file_operations = GP_FILE_OPERATION_DELETE | GP_FILE_OPERATION_PREVIEW; a.folder_operations = GP_FOLDER_OPERATION_PUT_FILE; CR (gp_abilities_list_append (list, a)); } return (GP_OK); }
int camera_abilities (CameraAbilitiesList *list) { CameraAbilities a; int i; memset(&a, 0, sizeof(a)); a.status = GP_DRIVER_STATUS_EXPERIMENTAL; /* highly! */ a.port = GP_PORT_USB; a.speed[0] = 0; a.operations = GP_OPERATION_NONE; a.file_operations = GP_FILE_OPERATION_DELETE; a.folder_operations = GP_FOLDER_OPERATION_DELETE_ALL; for (i = 0; smal_cameras[i].name; i++) { strcpy(a.model, smal_cameras[i].name); a.usb_vendor = smal_cameras[i].idVendor; a.usb_product = smal_cameras[i].idProduct; gp_abilities_list_append(list, a); } return (GP_OK); }
int camera_abilities (CameraAbilitiesList *list) { CameraAbilities a; memset(&a, 0, sizeof(a)); strcpy(a.model, "Toshiba:PDR-M11"); a.status = GP_DRIVER_STATUS_TESTING; a.port = GP_PORT_USB; a.speed[0] = 0; a.usb_vendor = 0x1132; a.usb_product = 0x4337; a.operations = GP_OPERATION_NONE; a.file_operations = GP_FILE_OPERATION_DELETE | GP_FILE_OPERATION_PREVIEW; a.folder_operations = GP_FOLDER_OPERATION_NONE; gp_abilities_list_append(list, a); return (GP_OK); }
int camera_abilities (CameraAbilitiesList *list) { CameraAbilities a; memset (&a, 0, sizeof(a)); strcpy(a.model, "Kodak:DC3200"); a.port = GP_PORT_SERIAL; a.speed[0] = 9600; a.speed[1] = 19200; a.speed[2] = 38400; a.speed[3] = 57600; a.speed[4] = 115200; a.speed[5] = 0; a.operations = GP_OPERATION_NONE; a.file_operations = GP_FILE_OPERATION_PREVIEW; a.folder_operations = GP_FOLDER_OPERATION_NONE; gp_abilities_list_append(list, a); return (GP_OK); }
/* * camera abilities */ int camera_abilities (CameraAbilitiesList *list) { int i; CameraAbilities a; for(i=0;models[i].model;i++) { memset(&a,0,sizeof(CameraAbilities)); strcpy(a.model,models[i].model); a.usb_vendor = models[i].usb_vendor; a.usb_product = models[i].usb_product; a.status = GP_DRIVER_STATUS_EXPERIMENTAL; a.port = GP_PORT_USB; a.speed[0] = 0; a.operations = GP_OPERATION_NONE; a.file_operations = GP_FILE_OPERATION_PREVIEW| GP_FILE_OPERATION_DELETE| GP_FILE_OPERATION_EXIF; a.folder_operations = GP_FOLDER_OPERATION_NONE; CR(gp_abilities_list_append(list,a)); } /* all models... */ return(GP_OK); } /* camera_abilities */
int camera_abilities (CameraAbilitiesList *list) { CameraAbilities a; unsigned int i; /* 10/11/01/cw rewritten to add cameras via array */ for (i = 0; i < sizeof(camera_to_usb) / sizeof(struct camera_to_usb); i++) { memset(&a, 0, sizeof(a)); strcpy(a.model, camera_to_usb[i].name); a.port = 0; /* serial status is experimental, usb status is testing */ a.status = GP_DRIVER_STATUS_EXPERIMENTAL; a.operations = GP_OPERATION_CAPTURE_IMAGE; a.file_operations = GP_FILE_OPERATION_PREVIEW; a.folder_operations = GP_FOLDER_OPERATION_DELETE_ALL; if (camera_to_usb[i].idVendor) { a.status = GP_DRIVER_STATUS_PRODUCTION; a.port |= GP_PORT_USB; a.operations |= GP_OPERATION_CAPTURE_PREVIEW; a.usb_vendor = camera_to_usb[i].idVendor; a.usb_product = camera_to_usb[i].idProduct; } if (camera_to_usb[i].serial) { a.port |= GP_PORT_SERIAL; a.speed[0] = 115200; a.speed[1] = 0; } gp_abilities_list_append(list, a); } return (GP_OK); }