| 
									
										
										
										
											2005-04-16 15:20:36 -07:00
										 |  |  | /*
 | 
					
						
							|  |  |  |  * linux/include/linux/parser.h | 
					
						
							|  |  |  |  * | 
					
						
							|  |  |  |  * Header for lib/parser.c | 
					
						
							|  |  |  |  * Intended use of these functions is parsing filesystem argument lists, | 
					
						
							|  |  |  |  * but could potentially be used anywhere else that simple option=arg | 
					
						
							|  |  |  |  * parsing is required. | 
					
						
							|  |  |  |  */ | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | /* associates an integer enumerator with a pattern string. */ | 
					
						
							|  |  |  | struct match_token { | 
					
						
							|  |  |  | 	int token; | 
					
						
							| 
									
										
										
										
											2007-05-03 03:10:39 -07:00
										 |  |  | 	const char *pattern; | 
					
						
							| 
									
										
										
										
											2005-04-16 15:20:36 -07:00
										 |  |  | }; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2008-08-04 16:50:38 -07:00
										 |  |  | typedef struct match_token match_table_t[]; | 
					
						
							| 
									
										
										
										
											2005-04-16 15:20:36 -07:00
										 |  |  | 
 | 
					
						
							|  |  |  | /* Maximum number of arguments that match_token will find in a pattern */ | 
					
						
							|  |  |  | enum {MAX_OPT_ARGS = 3}; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | /* Describe the location within a string of a substring */ | 
					
						
							|  |  |  | typedef struct { | 
					
						
							|  |  |  | 	char *from; | 
					
						
							|  |  |  | 	char *to; | 
					
						
							|  |  |  | } substring_t; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2008-10-13 10:46:57 +01:00
										 |  |  | int match_token(char *, const match_table_t table, substring_t args[]); | 
					
						
							| 
									
										
										
										
											2005-04-16 15:20:36 -07:00
										 |  |  | int match_int(substring_t *, int *result); | 
					
						
							|  |  |  | int match_octal(substring_t *, int *result); | 
					
						
							|  |  |  | int match_hex(substring_t *, int *result); | 
					
						
							| 
									
										
										
										
											2014-01-23 15:54:12 -08:00
										 |  |  | bool match_wildcard(const char *pattern, const char *str); | 
					
						
							| 
									
										
										
										
											2008-02-26 09:57:11 -06:00
										 |  |  | size_t match_strlcpy(char *, const substring_t *, size_t); | 
					
						
							| 
									
										
										
										
											2007-05-03 03:10:39 -07:00
										 |  |  | char *match_strdup(const substring_t *); |