live
  *   ˆl–Ü4ý( ©³( 	Å€fàB¦-ÿÄƒ_o_†I|¥�+ÈÇ «    /* SPDX-License-Identifier: GPL-2.0 */
/*
 * 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.
 */
#ifndef _LINUX_PARSER_H
#define _LINUX_PARSER_H

/* associates an integer enumerator with a pattern string. */
struct match_token {
	int token;
	const char *pattern;
};

typedef struct match_token match_table_t[];

/* 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;

int match_token(char *, const match_table_t table, substring_t args[]);
int match_int(substring_t *, int *result);
int match_uint(substring_t *s, unsigned int *result);
int match_u64(substring_t *, u64 *result);
int match_octal(substring_t *, int *result);
int match_hex(substring_t *, int *result);
bool match_wildcard(const char *pattern, const char *str);
size_t match_strlcpy(char *, const substring_t *, size_t);
char *match_strdup(const substring_t *);

#endif /* _LINUX_PARSER_H */
     ˆÀÅƒh¹ÈÇ      0
  :   ˆl–ßi~”TËm
q@·q¶n4%1hßÆƒ™Åa–Ü4ý()¨‰P@Šë€vãM©‹FÿÉ Î    ‹     •VmOãFþ¾¿bD[	hâKàN½¢¶R¬B‚l£Ó©áÃÆ'«s¼¹õš\úë;³ë
�;)qvÞžyæeLöàZV°”3„Vh¤Å
£`0±¦Élc0Oñ›„ûTLm�²êª*ÇÊvK¼Çz,Ì±ÏÒ—ÚØkifª“ÉÏ}˜LªÈbáŽî„7áÃ]¾6r¯}²CïEË;ÑÏ…½»‡ý]‡Gw"hóˆFgá(Q<É	–OD qœ==cåE„O©ØaÛ2úkÿ…àº¶'-L¸mpB:}ïãY’è2#™/V»ë±U¸z«GJà-�K4½„½4:??ÏÃ8Iãè*Äñàó§8J£ÑÅì[Uô;X8îuà¨wô�þ¾~£ï+5eë=$—0\‡Â9Ãõ¸*q`Œ\2Êªj“.ä,‚ÚÉ@²V^ê\$ŸGã›$JDàÉ‡^ÐÛ>DP/‰»B……¡øIUYÙP±þ`�Jó¿œä†¾•JøðôØoJz§TV¯ ÞgR€ø1GçÚdøãŽ(í³0ÆÑM�G.ÃIM~yÓÁ¤¸Um™ßË*£ÝÒòESeVéJØ¹´°hjS„¦&jI+ÉX•5¥¤:à×É¸CŽòvM•å¬ž¡�£+eç [8/eÆp:d2›+j/P¶f:�:.X˜Ù Ò9*R-9)gº²F—°šcå ÐƒA ÀDÀ)‡YŽ‹¢F[s¶ï`sxº¶8ÔMåÏµaAJ�ž*óÙÿt…k8b�¢0[„�Qj	iŽ}Â	ËÆÐ6@Ð		®G¼Yä0Ù—_³R7ù¤«—V-Ô¿ÈüinC–9oµOHxï4…ð÷©wè£�®ˆkfARaø4:?Q£Ø–¨×�uçKMP­âÚª])�'¨fjìã¼daÑ¬¤ÉkŸÔµ&!m×LÕX®;žt®)×‡sÌ¾ìpšEÁ¼ãâZ9Ûâ)´¡L|ÇâJ•%wÖ&¢ë»^"üIIåô«]Iè¡’x‹Ú·Ò¬á^–MËwDÍâ{„ã;RHªré`d�1¼ysEø­6kß¯S$Û$Î6bŸˆ§|“l!$TÂQ�Íe5ã±Ù:hJF‘ývL¸xì�ÛáäW£/±Ú?ï¹Yù`hP>ÆëvÂá;ÖHˆ®Ba™ûhãQï±	ÏYÆ‚ÀY½¶(Ø³xRæ­ñ.êœá ùã¶ƒÌAÍkaË÷›éÂTf_ &9Õ´¶”nP¾´?\þÊ7üfPý?Z#L½›òô�Oû4ÓÛx”¸RôyëeÒÏrÝdÖu‡úÑe²¢iü
Ž£q’FCo6 NAc¨`2 ·8¿6|J4ìm¢œUÈjá7SßYU‘Ï+õÙ;Mš47Øwý|òŠO=¹«uœ†m[rg·ž†ÄÒý)Ý®5:oÜ5À]Sª)¯"xô½ƒ$ap•Œ®—V…·å¾»ãœâà6½Ç¢½ØýŽVÓ†ªX;ùp|ó9Ž..SÑÿýãÇ.¿t`·6½Æ\lß|§kÈuF)Q7ÓËˆ{/æÍ�†_~ÿï0àJ/    $   ˆl—ß=¿J	µ2ÛR‚ œP,ÜdiLZ7ÿÈƒlµÇ¿Ê þ    ‹     �VmoÛ6þþŠƒlvakI3lE;sñêØ†­-  ¥“ÍE"5’Š£ûï;’’_’´–©MÞûs÷¿»í€eý½Pe­Åzc¡›ôàåéé+˜Y=À;UÉ”[¡d¶ZX‹V5\‹dÃ1‡÷¨µ0wÞ†ûù¹°wQÁeÉ×h~]\äQ¢Š_œ€ZÎ/?&"Aip0NQZ‘	Ô¯ƒ»©¼î ¡ˆrÌlÐŒ¯ ´�<ýü»Î)Æ—çƒÓóÁù)tB¨;]ø1:ý�”–W0^�Ø‘æí üÿ[a7ÀÁ¢.„äSR^m2~».>±ùl9þØ\ÈÅJs]³h1†®ûÖ†N:d8o¿÷¼‘å§él¾/Y$3½…o„Lò*Eø¹‘‹6T—ùœîÆÐÒ¥Øm¿X²½÷s¯D
/^t@£½ç9ôÞ°(Þßåhy±ÏãñlÊâ’ÙÅqÑº=–U2q`Â–k Sšlckß”˜88R‚˜Eã¶"VíË±qFçÜ¶:n€çîc}PÌ¾3+Ÿ�¯´4 ŠSAÂy¹xÿ%ˆ¢2VèÁã«œq¥gN$Ô‚	RY˜ÞL&_ñO�%¨G\Úø ,Ëme@e¡\¯±MŽuE„‘·ä Â6óGr`ª²Ì]ÈVùôºç½#x•WÌUâÇ	JŠÇ·�
‰.ZH›?ö±¥B'\&˜”æñÕb4¼ü|1œ^Œ&£KW„2ç	¦tÿ«ÃPJ(ªÜŠ2Ç]ÇáŽ¸DU™œðÕµÓÞÏ�³oxÑ*ô™;ÐhH‰ºB#y`&$¦û¤B6	Ïs!×Ï"$'ú\5Dž“'"¹k‰.ª¹¿vÍ@“¢åÉÓ^äÇd1ŠoSø0œÜŒØLvI‚Æô¿Ú¬§oU�ÈNio¿=çÍ!ÈªX¡F‹ÅlAc»Ñ†Ñ%á3yÏ†O	�;%E…	ÁáYÑµ¦ò\m©&p�º )cÝy_ã$ð2zõýtO^³.Fk×œ[µÃËêÐ„!åŠ
¨‰*”þÿîö£ØNh¢Éæ2Ú¥=žR‰´šéä;¸¾ 1”>Úh±§ÇYÞÓq
³·DÉyÎŽÎ´ÄÎ UÜ†˜ë  K¸Á½óåââŠMÕ¾¿šö_ä�¨*O]Oen-´‡q¼¿½‰GKöŽ¬ºŽx 	”aèZZ!f4P™v,)ƒIX«WsKð­*‚ º?¹f¥0rZŠqÉ¨Ê+õð†å«ÈWôËr 4W4Ô:£‰?¶N>8²bñ_Ïötü÷IÜÐÏÐÖ'×ñ`IŸÈÍˆE›Ú9f‘)á,¬±x8½..—ì ²¯BîWãe<k÷dSóp3�¹‚3Š� of,«rß.�i²‰,Ð‡ %ªÐºâšSv~7?Ë»nùì—NX#�~ÁëÀÉF)ƒ®iREèÔ�äH/…ªFÉ�Æ?*¡i¹·5x_p×L\¦]X(bDÝw,‘…Q•Nü\�å-R0ŽÃT>I ¨÷7Êßlß$Á›7â2,5Þ‹ÀÀ+ÄÀwd°åY!ÙŽfI`ÃIXÃïèýUi<ž˜c”ÿcþTwwnvvÚg¥Viå2äÐùS+ÑÖ¦±¡›¤*�� F5ôâÁÀ@GÂ�(iª‚ÌEËÃÔÆb»òõ—4�<”ªZ?Ò6T”{ªl’T´�ükƒí)Ÿö�\Š4¤¥2Fx¢Q��¦E�¸ÝYép”�kL4Ô@T.ŸwÛ�Žäy®ˆ3¿4;Ž†J‘vogý[ø6¼èÓi¯®…}áèExPqY?}hvüJ¬UE¡ÒÛ�2rŸeèvŠ }ªñ\ØºÏÜ%E»" êFJ¹5´òÎiÒ˜¹7H³ëS4b-CNCªËQ»–! ›Ü