Go to the source code of this file.
Data Structures | |
struct | _sCmdLineArgs |
Defines | |
#define | MAX_LEN 256 |
Typedefs | |
typedef _sCmdLineArgs | sCmdLineArgs |
typedef _sCmdLineArgs * | psCmdLineArgs |
Functions | |
int | ParseCommandLine (int argc, char *argv[], psCmdLineArgs pCmdLineArgs) |
#define MAX_LEN 256 |
typedef struct _sCmdLineArgs * psCmdLineArgs |
Command line arguments structure.
typedef struct _sCmdLineArgs sCmdLineArgs |
Command line arguments structure.
int ParseCommandLine | ( | int | argc, | |
char * | argv[], | |||
psCmdLineArgs | pCmdLineArgs | |||
) |
Implementation of ParseCommandLine.
00028 { 00029 int c = 0; 00030 int is_valid = 0; 00031 00032 while((c = getopt(argc, argv, "c:d:h:i:np:r:w:j:tz:l")) != -1) 00033 { 00034 switch(c) 00035 { 00036 case 'c': 00037 memset(pCmdLineArgs->cropping, 0, MAX_LEN); 00038 memcpy(pCmdLineArgs->cropping, optarg, strlen(optarg)); 00039 break; 00040 case 'd': 00041 memset(pCmdLineArgs->device, 0, MAX_LEN); 00042 memcpy(pCmdLineArgs->device, optarg, strlen(optarg)); 00043 break; 00044 case 'h': 00045 memset(pCmdLineArgs->output_height, 0, MAX_LEN); 00046 memcpy(pCmdLineArgs->output_height, optarg, strlen(optarg)); 00047 break; 00048 case 'i': 00049 memset(pCmdLineArgs->output_io, 0, MAX_LEN); 00050 memcpy(pCmdLineArgs->output_io, optarg, strlen(optarg)); 00051 break; 00052 case 'n': 00053 pCmdLineArgs->nonblocking = 1; 00054 break; 00055 case 'p': 00056 memset(pCmdLineArgs->output_pixfmt, 0, MAX_LEN); 00057 memcpy(pCmdLineArgs->output_pixfmt, optarg, strlen(optarg)); 00058 break; 00059 case 'r': 00060 memset(pCmdLineArgs->frame_rate, 0, MAX_LEN); 00061 memcpy(pCmdLineArgs->frame_rate, optarg, strlen(optarg)); 00062 break; 00063 case 'w': 00064 memset(pCmdLineArgs->output_width, 0, MAX_LEN); 00065 memcpy(pCmdLineArgs->output_width, optarg, strlen(optarg)); 00066 break; 00067 case 'j': 00068 sscanf(optarg,"%d",&pCmdLineArgs->capture_count); 00069 break; 00070 case 't': 00071 pCmdLineArgs->timestamp = 1; 00072 break; 00073 case 'z': 00074 memset(pCmdLineArgs->delay, 0, MAX_LEN); 00075 memcpy(pCmdLineArgs->delay, optarg, strlen(optarg)); 00076 break; 00077 case 'l': 00078 pCmdLineArgs->livestream = 1; 00079 break; 00080 case'?': 00081 if(optopt == 'c' || 00082 optopt == 'd' || 00083 optopt == 'h' || 00084 optopt == 'i' || 00085 optopt == 'p' || 00086 optopt == 'r' || 00087 optopt == 'w' || 00088 optopt == 'z') 00089 { 00090 CapError("Option '-%c' required an argument.\n", optopt); 00091 } 00092 break; 00093 default: 00094 return -1; 00095 } 00096 } 00097 return 0; 00098 }