123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223 |
- #include "libusbi.h"
- #include <ctype.h>
- #include <string.h>
- static const char * const usbi_locale_supported[] = { "en", "nl", "fr", "ru", "de", "hu" };
- static const char * const usbi_localized_errors[ARRAYSIZE(usbi_locale_supported)][LIBUSB_ERROR_COUNT] = {
- {
- "Success",
- "Input/Output Error",
- "Invalid parameter",
- "Access denied (insufficient permissions)",
- "No such device (it may have been disconnected)",
- "Entity not found",
- "Resource busy",
- "Operation timed out",
- "Overflow",
- "Pipe error",
- "System call interrupted (perhaps due to signal)",
- "Insufficient memory",
- "Operation not supported or unimplemented on this platform",
- "Other error",
- }, {
- "Gelukt",
- "Invoer-/uitvoerfout",
- "Ongeldig argument",
- "Toegang geweigerd (onvoldoende toegangsrechten)",
- "Apparaat bestaat niet (verbinding met apparaat verbroken?)",
- "Niet gevonden",
- "Apparaat of hulpbron is bezig",
- "Bewerking verlopen",
- "Waarde is te groot",
- "Gebroken pijp",
- "Onderbroken systeemaanroep",
- "Onvoldoende geheugen beschikbaar",
- "Bewerking wordt niet ondersteund",
- "Andere fout",
- }, {
- "Succès",
- "Erreur d'entrée/sortie",
- "Paramètre invalide",
- "Accès refusé (permissions insuffisantes)",
- "Périphérique introuvable (peut-être déconnecté)",
- "Elément introuvable",
- "Resource déjà occupée",
- "Operation expirée",
- "Débordement",
- "Erreur de pipe",
- "Appel système abandonné (peut-être à cause d’un signal)",
- "Mémoire insuffisante",
- "Opération non supportée or non implémentée sur cette plateforme",
- "Autre erreur",
- }, {
- "Успех",
- "Ошибка ввода/вывода",
- "Неверный параметр",
- "Доступ запрещён (не хватает прав)",
- "Устройство отсутствует (возможно, оно было отсоединено)",
- "Элемент не найден",
- "Ресурс занят",
- "Истекло время ожидания операции",
- "Переполнение",
- "Ошибка канала",
- "Системный вызов прерван (возможно, сигналом)",
- "Память исчерпана",
- "Операция не поддерживается данной платформой",
- "Неизвестная ошибка"
- }, {
- "Erfolgreich",
- "Eingabe-/Ausgabefehler",
- "Ungültiger Parameter",
- "Keine Berechtigung (Zugriffsrechte fehlen)",
- "Kein passendes Gerät gefunden (es könnte entfernt worden sein)",
- "Entität nicht gefunden",
- "Die Ressource ist belegt",
- "Die Wartezeit für die Operation ist abgelaufen",
- "Mehr Daten empfangen als erwartet",
- "Datenübergabe unterbrochen (broken pipe)",
- "Unterbrechung während des Betriebssystemaufrufs",
- "Nicht genügend Hauptspeicher verfügbar",
- "Die Operation wird nicht unterstützt oder ist auf dieser Platform nicht implementiert",
- "Allgemeiner Fehler",
- }, {
- "Sikeres",
- "Be-/kimeneti hiba",
- "Érvénytelen paraméter",
- "Hozzáférés megtagadva",
- "Az eszköz nem található (eltávolították?)",
- "Nem található",
- "Az erőforrás foglalt",
- "Időtúllépés",
- "Túlcsordulás",
- "Törött adatcsatorna",
- "Rendszerhívás megszakítva",
- "Nincs elég memória",
- "A művelet nem támogatott ezen a rendszeren",
- "Általános hiba",
- },
- };
- static const char * const (*usbi_error_strings)[LIBUSB_ERROR_COUNT] = &usbi_localized_errors[0];
- int API_EXPORTED libusb_setlocale(const char *locale)
- {
- size_t i;
- if (!locale || strlen(locale) < 2
- || (locale[2] != '\0' && locale[2] != '-' && locale[2] != '_' && locale[2] != '.'))
- return LIBUSB_ERROR_INVALID_PARAM;
- for (i = 0; i < ARRAYSIZE(usbi_locale_supported); i++) {
- if (usbi_locale_supported[i][0] == tolower((unsigned char)locale[0])
- && usbi_locale_supported[i][1] == tolower((unsigned char)locale[1]))
- break;
- }
- if (i == ARRAYSIZE(usbi_locale_supported))
- return LIBUSB_ERROR_NOT_FOUND;
- usbi_error_strings = &usbi_localized_errors[i];
- return LIBUSB_SUCCESS;
- }
- DEFAULT_VISIBILITY const char * LIBUSB_CALL libusb_strerror(int errcode)
- {
- int errcode_index = -errcode;
- if (errcode_index < 0 || errcode_index >= LIBUSB_ERROR_COUNT) {
-
- errcode_index = LIBUSB_ERROR_COUNT - 1;
- }
- return (*usbi_error_strings)[errcode_index];
- }
|