forked from xuos/xiuos
				
			
		
			
				
	
	
		
			78 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			C
		
	
	
	
			
		
		
	
	
			78 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			C
		
	
	
	
/* Copyright JS Foundation and other contributors, http://js.foundation
 | 
						|
 *
 | 
						|
 * Licensed under the Apache License, Version 2.0 (the "License");
 | 
						|
 * you may not use this file except in compliance with the License.
 | 
						|
 * You may obtain a copy of the License at
 | 
						|
 *
 | 
						|
 *     http://www.apache.org/licenses/LICENSE-2.0
 | 
						|
 *
 | 
						|
 * Unless required by applicable law or agreed to in writing, software
 | 
						|
 * distributed under the License is distributed on an "AS IS" BASIS
 | 
						|
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 | 
						|
 * See the License for the specific language governing permissions and
 | 
						|
 * limitations under the License.
 | 
						|
 */
 | 
						|
 | 
						|
#ifndef MAIN_OPTIONS_H
 | 
						|
#define MAIN_OPTIONS_H
 | 
						|
 | 
						|
#include <stdint.h>
 | 
						|
 | 
						|
/**
 | 
						|
 * Argument option flags.
 | 
						|
 */
 | 
						|
typedef enum
 | 
						|
{
 | 
						|
  OPT_FLAG_EMPTY          = 0,
 | 
						|
  OPT_FLAG_PARSE_ONLY     = (1 << 0),
 | 
						|
  OPT_FLAG_DEBUG_SERVER   = (1 << 1),
 | 
						|
  OPT_FLAG_WAIT_SOURCE    = (1 << 2),
 | 
						|
  OPT_FLAG_NO_PROMPT      = (1 << 3),
 | 
						|
  OPT_FLAG_USE_STDIN      = (1 << 4),
 | 
						|
  OPT_FLAG_TEST262_OBJECT = (1u << 5),
 | 
						|
} main_option_flags_t;
 | 
						|
 | 
						|
/**
 | 
						|
 * Source types
 | 
						|
 */
 | 
						|
typedef enum
 | 
						|
{
 | 
						|
  SOURCE_SNAPSHOT,
 | 
						|
  SOURCE_MODULE,
 | 
						|
  SOURCE_SCRIPT,
 | 
						|
} main_source_type_t;
 | 
						|
 | 
						|
/**
 | 
						|
 * Input source file.
 | 
						|
 */
 | 
						|
typedef struct
 | 
						|
{
 | 
						|
  uint32_t path_index;
 | 
						|
  uint16_t snapshot_index;
 | 
						|
  uint16_t type;
 | 
						|
} main_source_t;
 | 
						|
 | 
						|
/**
 | 
						|
 * Arguments struct to store parsed command line arguments.
 | 
						|
 */
 | 
						|
typedef struct
 | 
						|
{
 | 
						|
  main_source_t *sources_p;
 | 
						|
  uint32_t source_count;
 | 
						|
 | 
						|
  const char *debug_channel;
 | 
						|
  const char *debug_protocol;
 | 
						|
  const char *debug_serial_config;
 | 
						|
  uint16_t debug_port;
 | 
						|
 | 
						|
  const char *exit_cb_name_p;
 | 
						|
 | 
						|
  uint16_t option_flags;
 | 
						|
  uint16_t init_flags;
 | 
						|
} main_args_t;
 | 
						|
 | 
						|
void
 | 
						|
main_parse_args (int argc, char **argv, main_args_t *arguments_p);
 | 
						|
 | 
						|
#endif /* !MAIN_OPTIONS_H */
 |