MediaProcessors
stat_codes.c
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2017 Rafael Antoniello
3  * All rights reserved.
4  *
5  * Redistribution and use in source and binary forms, with or without
6  * modification, are permitted provided that the following conditions
7  * are met:
8  * 1. Redistributions of source code must retain the above copyright
9  * notice, this list of conditions and the following disclaimer.
10  * 2. Redistributions in binary form must reproduce the above copyright
11  * notice, this list of conditions and the following disclaimer in the
12  * documentation and/or other materials provided with the distribution.
13  * 3. Neither the name of copyright holders nor the names of its
14  * contributors may be used to endorse or promote products derived
15  * from this software without specific prior written permission.
16  *
17  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
18  * “AS IS” AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
19  * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
20  * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL COPYRIGHT HOLDERS OR CONTRIBUTORS
21  * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
22  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
23  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
24  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
25  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
26  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
27  * POSSIBILITY OF SUCH DAMAGE.
28  */
29 
35 #include "stat_codes.h"
36 
37 typedef struct stat_codes_lu_ctx_s {
38  const char *description;
40 
41 static const stat_codes_lu_ctx_t stat_codes_lutable[STAT_CODES_MAX]=
42 {
43  {""}, //STAT_SUCCESS
44  {"Resource requested found but not modified"}, //STAT_NOTMODIFIED
45  {"Error occurred"}, //STAT_ERROR
46  {"Resource requested not found"}, //STAT_ENOTFOUND
47  {"Resource temporarily unavailable (call again)"}, //STAT_EAGAIN
48  {"End of file"}, //STAT_EOF
49  {"Not enough space/memory"}, //STAT_ENOMEM
50  {"Invalid argument passed. Please review ranges."}, //STAT_EINVAL
51  {"Conflict with the current state of the target "
52  "resource"}, //STAT_ECONFLICT
53  {"Bad or not supported audio/video format"}, //STAT_EBAVFORMAT
54  {"Bad or not supported multiplex format"}, //STAT_EBMUXFORMAT
55  {"Operation timed out"}, //STAT_ETIMEDOUT
56  {"Operation interrupted"}, //STAT_EINTR
57  {"Bad protocol option"}, //STAT_ENOPROTOOPT
58  {"Address family not supported"}, //STAT_EAFNOSUPPORT
59  {"Address family not supported: need to specify host IP"
60  ""}, //STAT_EAFNOSUPPORT_HOSTNAME
61  {"Address family not supported: need to specify port"
62  ""}, //STAT_EAFNOSUPPORT_PORT
63  {"Valid request, no data record of requested type"}, //STAT_ENODATA
64 };
65 
66 const char* stat_codes_get_description(stat_codes_ctx_t code)
67 {
68  if(code< 0 || code> (STAT_CODES_MAX- 1))
69  return stat_codes_lutable[STAT_ERROR].description;
70  return stat_codes_lutable[code].description;
71 }
General status codes enumeration.