#pragma once typedef enum lm_error { LM_ERR_NoError = 0, LM_ERR_URLBadChar = 1, LM_ERR_URLBadProtocol = 2, LM_ERR_URLTooLarge = 3, LM_ERR_URLHostLarge = 4, LM_ERR_URLPathLarge = 5, LM_ERR_URLBadHost = 6, LM_ERR_URLBadPath = 7, LM_ERR_URLPortUnknown = 8, LM_ERR_URLBadPort = 9, LM_ERR_PoolNoSupport = 10, LM_ERR_URLEnd = 11, LM_ERR_MPTPBadVersion = 12, LM_ERR_MPTPBadCode = 13, LM_ERR_MPTPBadUrl = 14, LM_ERR_MPTPHostFail = 15, LM_ERR_MPTPSocketFail = 16, LM_ERR_MPTPConnectFail = 17, LM_ERR_MPTPRecvFail = 18, LM_ERR_MPTPSendFail = 19, LM_ERR_MPTPBadChunk = 29, LM_ERR_MPTPSetsockopt = 30, LM_ERR_MPTPTimeout = 31, LM_ERR_MPTPBindFail = 32, LM_ERR_ArgNULL = 33, } lm_error_t; typedef struct lm_error_desc { lm_error_t code; char *desc; } lm_error_desc_t; void lm_error_set(lm_error_t code); lm_error_t lm_error(); char *lm_strerror();