From 4910356db2585e55d2876001e40b21e9b148bcc4 Mon Sep 17 00:00:00 2001 From: admin Date: Mon, 4 Aug 2025 00:35:10 +0200 Subject: added fgla search --- include/glamac_errors.h | 41 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 include/glamac_errors.h (limited to 'include/glamac_errors.h') diff --git a/include/glamac_errors.h b/include/glamac_errors.h new file mode 100644 index 0000000..4e7b9d0 --- /dev/null +++ b/include/glamac_errors.h @@ -0,0 +1,41 @@ +/** + * glamac_errors.h - Unified error handling for GlaMaC + * + * Copyright (C) 2025 https://optics-design.com + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * See the COPYING file for the full license text. + */ +#ifndef GLAMAC_ERRORS_H +#define GLAMAC_ERRORS_H + +#include "glamacdef.h" + +// Error codes for GlaMaC operations +typedef enum { + GLAMAC_SUCCESS = 0, + GLAMAC_ERROR_MEMORY = -1, + GLAMAC_ERROR_FILE_NOT_FOUND = -2, + GLAMAC_ERROR_FILE_TOO_LARGE = -3, + GLAMAC_ERROR_INVALID_JSON = -4, + GLAMAC_ERROR_INVALID_PATH = -5, + GLAMAC_ERROR_BUFFER_OVERFLOW = -6, + GLAMAC_ERROR_MANUFACTURER_NOT_FOUND = -7, + GLAMAC_ERROR_NO_GLASSES_FOUND = -8, + GLAMAC_ERROR_INVALID_ARGUMENT = -9 +} GlamacResult; + +// Convert error code to human-readable string +const char* glamac_error_string(GlamacResult error); + +// Security limits +#define MAX_JSON_FILE_SIZE (10 * 1024 * 1024) // 10MB limit +#define MAX_JSON_STRING_LEN 1024 // Max string field length +#define MAX_PATH_LEN 4096 // Max file path length +#define MAX_MANUFACTURER_NAME_LEN 64 // Max manufacturer name length + +#endif /* GLAMAC_ERRORS_H */ \ No newline at end of file -- cgit v1.2.3