static AST_LIST_HEAD_STATIC(groups, ast_group_info);
-/* !
-This function presents a dialtone and reads an extension into 'collect'
-which must be a pointer to a **pre-initialized** array of char having a
-size of 'size' suitable for writing to. It will collect no more than the smaller
-of 'maxlen' or 'size' minus the original strlen() of collect digits.
-\return 0 if extension does not exist, 1 if extension exists
+/*!
+ * \brief This function presents a dialtone and reads an extension into 'collect'
+ * which must be a pointer to a **pre-initialized** array of char having a
+ * size of 'size' suitable for writing to. It will collect no more than the smaller
+ * of 'maxlen' or 'size' minus the original strlen() of collect digits.
+ * \param chan struct.
+ * \param context
+ * \param collect
+ * \param size
+ * \param maxlen
+ * \param timeout timeout in seconds
+ *
+ * \return 0 if extension does not exist, 1 if extension exists
*/
int ast_app_dtget(struct ast_channel *chan, const char *context, char *collect, size_t size, int maxlen, int timeout)
{
return res;
}
-/*! \param c The channel to read from
- * \param prompt The file to stream to the channel
- * \param s The string to read in to. Must be at least the size of your length
- * \param maxlen How many digits to read (maximum)
- * \param timeout set timeout to 0 for "standard" timeouts. Set timeout to -1 for
+/*!
+ * \brief ast_app_getdata
+ * \param c The channel to read from
+ * \param prompt The file to stream to the channel
+ * \param s The string to read in to. Must be at least the size of your length
+ * \param maxlen How many digits to read (maximum)
+ * \param timeout set timeout to 0 for "standard" timeouts. Set timeout to -1 for
* "ludicrous time" (essentially never times out) */
int ast_app_getdata(struct ast_channel *c, const char *prompt, char *s, int maxlen, int timeout)
{
static int global_maxsilence = 0;
/*! Optionally play a sound file or a beep, then record audio and video from the channel.
- * @param chan Channel to playback to/record from.
- * @param playfile Filename of sound to play before recording begins.
- * @param recordfile Filename to record to.
- * @param maxtime Maximum length of recording (in milliseconds).
- * @param fmt Format(s) to record message in. Multiple formats may be specified by separating them with a '|'.
- * @param duration Where to store actual length of the recorded message (in milliseconds).
- * @param beep Whether to play a beep before starting to record.
- * @param silencethreshold
- * @param maxsilence Length of silence that will end a recording (in milliseconds).
- * @param path Optional filesystem path to unlock.
- * @param prepend If true, prepend the recorded audio to an existing file.
- * @param acceptdtmf DTMF digits that will end the recording.
- * @param canceldtmf DTMF digits that will cancel the recording.
+ * \param chan Channel to playback to/record from.
+ * \param playfile Filename of sound to play before recording begins.
+ * \param recordfile Filename to record to.
+ * \param maxtime Maximum length of recording (in milliseconds).
+ * \param fmt Format(s) to record message in. Multiple formats may be specified by separating them with a '|'.
+ * \param duration Where to store actual length of the recorded message (in milliseconds).
+ * \param beep Whether to play a beep before starting to record.
+ * \param silencethreshold
+ * \param maxsilence Length of silence that will end a recording (in milliseconds).
+ * \param path Optional filesystem path to unlock.
+ * \param prepend If true, prepend the recorded audio to an existing file.
+ * \param acceptdtmf DTMF digits that will end the recording.
+ * \param canceldtmf DTMF digits that will cancel the recording.
*/
static int __ast_play_and_record(struct ast_channel *chan, const char *playfile, const char *recordfile, int maxtime, const char *fmt, int *duration, int beep, int silencethreshold, int maxsilence, const char *path, int prepend, const char *acceptdtmf, const char *canceldtmf)
*/
int yy_at_bol;
- int yy_bs_lineno; /**< The line count. */
- int yy_bs_column; /**< The column count. */
+ int yy_bs_lineno; /*!< The line count. */
+ int yy_bs_column; /*!< The column count. */
/* Whether to try to fill the input buffer when we reach the
* end of it.
/* The rest are the same as the globals declared in the non-reentrant scanner. */
FILE *yyin_r, *yyout_r;
- size_t yy_buffer_stack_top; /**< index of top of stack. */
- size_t yy_buffer_stack_max; /**< capacity of stack. */
- YY_BUFFER_STATE * yy_buffer_stack; /**< Stack as an array. */
+ size_t yy_buffer_stack_top; /*!< index of top of stack. */
+ size_t yy_buffer_stack_max; /*!< capacity of stack. */
+ YY_BUFFER_STATE * yy_buffer_stack; /*!< Stack as an array. */
char yy_hold_char;
int yy_n_chars;
int yyleng_r;
#define YY_RULE_SETUP \
YY_USER_ACTION
-/** The main scanner function which does all the work.
+/*!
+ * \brief The main scanner function which does all the work.
*/
YY_DECL
{
}
#endif /* ifndef YY_NO_INPUT */
-/** Immediately switch to a different input stream.
- * @param input_file A readable stream.
- * @param yyscanner The scanner object.
- * @note This function does not reset the start condition to @c INITIAL .
+/*!
+ * \brief Immediately switch to a different input stream.
+ * \param input_file A readable stream.
+ * \param yyscanner The scanner object.
+ * \note This function does not reset the start condition to @c INITIAL .
*/
void ast_yyrestart (FILE * input_file , yyscan_t yyscanner)
{
ast_yy_load_buffer_state(yyscanner );
}
-/** Switch to a different input buffer.
- * @param new_buffer The new input buffer.
- * @param yyscanner The scanner object.
+/*!
+ * \brief Switch to a different input buffer.
+ * \param new_buffer The new input buffer.
+ * \param yyscanner The scanner object.
*/
void ast_yy_switch_to_buffer (YY_BUFFER_STATE new_buffer , yyscan_t yyscanner)
{
yyg->yy_hold_char = *yyg->yy_c_buf_p;
}
-/** Allocate and initialize an input buffer state.
- * @param file A readable stream.
- * @param size The character buffer size in bytes. When in doubt, use @c YY_BUF_SIZE.
- * @param yyscanner The scanner object.
- * @return the allocated buffer state.
+/*!
+ * \brief Allocate and initialize an input buffer state.
+ * \param file A readable stream.
+ * \param size The character buffer size in bytes. When in doubt, use @c YY_BUF_SIZE.
+ * \param yyscanner The scanner object.
+ *
+ * \return the allocated buffer state.
*/
YY_BUFFER_STATE ast_yy_create_buffer (FILE * file, int size , yyscan_t yyscanner)
{
return b;
}
-/** Destroy the buffer.
- * @param b a buffer created with ast_yy_create_buffer()
- * @param yyscanner The scanner object.
+/*!
+ * \brief Destroy the buffer.
+ * \param b a buffer created with ast_yy_create_buffer()
+ * \param yyscanner The scanner object.
*/
void ast_yy_delete_buffer (YY_BUFFER_STATE b , yyscan_t yyscanner)
{
errno = oerrno;
}
-/** Discard all buffered characters. On the next scan, YY_INPUT will be called.
- * @param b the buffer state to be flushed, usually @c YY_CURRENT_BUFFER.
- * @param yyscanner The scanner object.
+/*!
+ * \brief Discard all buffered characters. On the next scan, YY_INPUT will be called.
+ * \param b the buffer state to be flushed, usually @c YY_CURRENT_BUFFER.
+ * \param yyscanner The scanner object.
*/
void ast_yy_flush_buffer (YY_BUFFER_STATE b , yyscan_t yyscanner)
{
ast_yy_load_buffer_state(yyscanner );
}
-/** Pushes the new state onto the stack. The new state becomes
+/*!
+ * \brief Pushes the new state onto the stack. The new state becomes
* the current state. This function will allocate the stack
* if necessary.
- * @param new_buffer The new state.
- * @param yyscanner The scanner object.
+ * \param new_buffer The new state.
+ * \param yyscanner The scanner object.
*/
void ast_yypush_buffer_state (YY_BUFFER_STATE new_buffer , yyscan_t yyscanner)
{
yyg->yy_did_buffer_switch_on_eof = 1;
}
-/** Removes and deletes the top of the stack, if present.
+/*!
+ * \brief Removes and deletes the top of the stack, if present.
* The next element becomes the new top.
- * @param yyscanner The scanner object.
+ * \param yyscanner The scanner object.
*/
void ast_yypop_buffer_state (yyscan_t yyscanner)
{
}
}
-/** Setup the input buffer state to scan directly from a user-specified character buffer.
- * @param base the character buffer
- * @param size the size in bytes of the character buffer
- * @param yyscanner The scanner object.
- * @return the newly allocated buffer state object.
+/*!
+ * \brief Setup the input buffer state to scan directly from a user-specified character buffer.
+ * \param base the character buffer
+ * \param size the size in bytes of the character buffer
+ * \param yyscanner The scanner object.
+ *
+ * \return the newly allocated buffer state object.
*/
YY_BUFFER_STATE ast_yy_scan_buffer (char * base, yy_size_t size , yyscan_t yyscanner)
{
return b;
}
-/** Setup the input buffer state to scan a string. The next call to ast_yylex() will
+/*!
+ * \brief Setup the input buffer state to scan a string. The next call to ast_yylex() will
* scan from a @e copy of @a str.
- * @param str a NUL-terminated string to scan
- * @param yyscanner The scanner object.
- * @return the newly allocated buffer state object.
- * @note If you want to scan bytes that may contain NUL values, then use
+ * \param str a NUL-terminated string to scan
+ * \param yyscanner The scanner object.
+ *
+ * \return the newly allocated buffer state object.
+ * \note If you want to scan bytes that may contain NULL values, then use
* ast_yy_scan_bytes() instead.
*/
YY_BUFFER_STATE ast_yy_scan_string (yyconst char * str , yyscan_t yyscanner)
return ast_yy_scan_bytes(str,strlen(str) ,yyscanner);
}
-/** Setup the input buffer state to scan the given bytes. The next call to ast_yylex() will
+/*!
+ * \brief Setup the input buffer state to scan the given bytes. The next call to ast_yylex() will
* scan from a @e copy of @a bytes.
- * @param bytes the byte buffer to scan
- * @param len the number of bytes in the buffer pointed to by @a bytes.
- * @param yyscanner The scanner object.
- * @return the newly allocated buffer state object.
+ * \param bytes the byte buffer to scan
+ * \param len the number of bytes in the buffer pointed to by @a bytes.
+ * \param yyscanner The scanner object.
+ *
+ * \return the newly allocated buffer state object.
*/
YY_BUFFER_STATE ast_yy_scan_bytes (yyconst char * bytes, int len , yyscan_t yyscanner)
{
/* Accessor methods (get/set functions) to struct members. */
-/** Get the user-defined data for this scanner.
- * @param yyscanner The scanner object.
+/*!
+ * \brief Get the user-defined data for this scanner.
+ * \param yyscanner The scanner object.
*/
YY_EXTRA_TYPE ast_yyget_extra (yyscan_t yyscanner)
{
return yyextra;
}
-/** Get the current line number.
- * @param yyscanner The scanner object.
+/*!
+ * \brief Get the current line number.
+ * \param yyscanner The scanner object.
*/
int ast_yyget_lineno (yyscan_t yyscanner)
{
return yylineno;
}
-/** Get the current column number.
- * @param yyscanner The scanner object.
+/*!
+ * \brief Get the current column number.
+ * \param yyscanner The scanner object.
*/
int ast_yyget_column (yyscan_t yyscanner)
{
return yycolumn;
}
-/** Get the input stream.
- * @param yyscanner The scanner object.
+/*!
+ * \brief Get the input stream.
+ * \param yyscanner The scanner object.
*/
FILE *ast_yyget_in (yyscan_t yyscanner)
{
return yyin;
}
-/** Get the output stream.
- * @param yyscanner The scanner object.
+/*!
+ * \brief Get the output stream.
+ * \param yyscanner The scanner object.
*/
FILE *ast_yyget_out (yyscan_t yyscanner)
{
return yyout;
}
-/** Get the length of the current token.
- * @param yyscanner The scanner object.
+/*!
+ * \brief Get the length of the current token.
+ * \param yyscanner The scanner object.
*/
int ast_yyget_leng (yyscan_t yyscanner)
{
return yyleng;
}
-/** Get the current token.
- * @param yyscanner The scanner object.
+/*!
+ * \brief Get the current token.
+ * \param yyscanner The scanner object.
*/
char *ast_yyget_text (yyscan_t yyscanner)
return yytext;
}
-/** Set the user-defined data. This data is never touched by the scanner.
- * @param user_defined The data to be associated with this scanner.
- * @param yyscanner The scanner object.
+/*!
+ * \brief Set the user-defined data. This data is never touched by the scanner.
+ * \param user_defined The data to be associated with this scanner.
+ * \param yyscanner The scanner object.
*/
void ast_yyset_extra (YY_EXTRA_TYPE user_defined , yyscan_t yyscanner)
{
yyextra = user_defined ;
}
-/** Set the current line number.
- * @param line_number
- * @param yyscanner The scanner object.
+/*!
+ * \brief Set the current line number.
+ * \param line_number
+ * \param yyscanner The scanner object.
*/
void ast_yyset_lineno (int line_number , yyscan_t yyscanner)
{
yylineno = line_number;
}
-/** Set the current column.
- * @param line_number
- * @param yyscanner The scanner object.
+/*!
+ * \brief Set the current column.
+ * \param column_no
+ * \param yyscanner The scanner object.
*/
void ast_yyset_column (int column_no , yyscan_t yyscanner)
{
yycolumn = column_no;
}
-/** Set the input stream. This does not discard the current
+/*!
+ * \brief Set the input stream. This does not discard the current
* input buffer.
- * @param in_str A readable stream.
- * @param yyscanner The scanner object.
- * @see ast_yy_switch_to_buffer
+ * \param in_str A readable stream.
+ * \param yyscanner The scanner object.
+ * \see ast_yy_switch_to_buffer
*/
void ast_yyset_in (FILE * in_str , yyscan_t yyscanner)
{
/* User-visible API */
-/* ast_yylex_init is special because it creates the scanner itself, so it is
+/*!
+ * \brief ast_yylex_init is special because it creates the scanner itself, so it is
* the ONLY reentrant function that doesn't take the scanner as the last argument.
* That's why we explicitly handle the declaration, instead of using our macros.
*/
return yy_init_globals ( *ptr_yy_globals );
}
-/* ast_yylex_destroy is for both reentrant and non-reentrant scanners. */
+/*! \brief ast_yylex_destroy is for both reentrant and non-reentrant scanners. */
int ast_yylex_destroy (yyscan_t yyscanner)
{
struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
*/
int yy_at_bol;
- int yy_bs_lineno; /**< The line count. */
- int yy_bs_column; /**< The column count. */
+ int yy_bs_lineno; /*!< The line count. */
+ int yy_bs_column; /*!< The column count. */
/* Whether to try to fill the input buffer when we reach the
* end of it.
#define YY_EXTRA_TYPE void *
#endif
-/* Holds the entire state of the reentrant scanner. */
+/*! \brief Holds the entire state of the reentrant scanner. */
struct yyguts_t
{
/* The rest are the same as the globals declared in the non-reentrant scanner. */
FILE *yyin_r, *yyout_r;
- size_t yy_buffer_stack_top; /**< index of top of stack. */
- size_t yy_buffer_stack_max; /**< capacity of stack. */
- YY_BUFFER_STATE * yy_buffer_stack; /**< Stack as an array. */
+ size_t yy_buffer_stack_top; /*!< index of top of stack. */
+ size_t yy_buffer_stack_max; /*!< capacity of stack. */
+ YY_BUFFER_STATE * yy_buffer_stack; /*!< Stack as an array. */
char yy_hold_char;
int yy_n_chars;
int yyleng_r;
}
#endif /* ifndef YY_NO_INPUT */
-/** Immediately switch to a different input stream.
- * @param input_file A readable stream.
- * @param yyscanner The scanner object.
- * @note This function does not reset the start condition to @c INITIAL .
+/*!
+ * \brief Immediately switch to a different input stream.
+ * \param input_file A readable stream.
+ * \param yyscanner The scanner object.
+ *
+ * \note This function does not reset the start condition to @c INITIAL .
*/
void ael_yyrestart (FILE * input_file , yyscan_t yyscanner)
{
ael_yy_load_buffer_state(yyscanner );
}
-/** Switch to a different input buffer.
- * @param new_buffer The new input buffer.
- * @param yyscanner The scanner object.
+/*!
+ * \brief Switch to a different input buffer.
+ * \param new_buffer The new input buffer.
+ * \param yyscanner The scanner object.
*/
void ael_yy_switch_to_buffer (YY_BUFFER_STATE new_buffer , yyscan_t yyscanner)
{
yyg->yy_hold_char = *yyg->yy_c_buf_p;
}
-/** Allocate and initialize an input buffer state.
- * @param file A readable stream.
- * @param size The character buffer size in bytes. When in doubt, use @c YY_BUF_SIZE.
- * @param yyscanner The scanner object.
- * @return the allocated buffer state.
+/*!
+ * \brief Allocate and initialize an input buffer state.
+ * \param file A readable stream.
+ * \param size The character buffer size in bytes. When in doubt, use @c YY_BUF_SIZE.
+ * \param yyscanner The scanner object.
+ *
+ * \return the allocated buffer state.
*/
YY_BUFFER_STATE ael_yy_create_buffer (FILE * file, int size , yyscan_t yyscanner)
{
return b;
}
-/** Destroy the buffer.
- * @param b a buffer created with ael_yy_create_buffer()
- * @param yyscanner The scanner object.
+/*!
+ * \brief Destroy the buffer.
+ * \param b a buffer created with ael_yy_create_buffer()
+ * \param yyscanner The scanner object.
*/
void ael_yy_delete_buffer (YY_BUFFER_STATE b , yyscan_t yyscanner)
{
errno = oerrno;
}
-/** Discard all buffered characters. On the next scan, YY_INPUT will be called.
- * @param b the buffer state to be flushed, usually @c YY_CURRENT_BUFFER.
- * @param yyscanner The scanner object.
+/*!
+ * \brief Discard all buffered characters. On the next scan, YY_INPUT will be called.
+ * \param b the buffer state to be flushed, usually @c YY_CURRENT_BUFFER.
+ * \param yyscanner The scanner object.
*/
void ael_yy_flush_buffer (YY_BUFFER_STATE b , yyscan_t yyscanner)
{
ael_yy_load_buffer_state(yyscanner );
}
-/** Pushes the new state onto the stack. The new state becomes
+/*!
+ * \brief Pushes the new state onto the stack. The new state becomes
* the current state. This function will allocate the stack
* if necessary.
- * @param new_buffer The new state.
- * @param yyscanner The scanner object.
+ * \param new_buffer The new state.
+ * \param yyscanner The scanner object.
*/
void ael_yypush_buffer_state (YY_BUFFER_STATE new_buffer , yyscan_t yyscanner)
{
yyg->yy_did_buffer_switch_on_eof = 1;
}
-/** Removes and deletes the top of the stack, if present.
+/*!
+ * \brief Removes and deletes the top of the stack, if present.
* The next element becomes the new top.
- * @param yyscanner The scanner object.
+ * \param yyscanner The scanner object.
*/
void ael_yypop_buffer_state (yyscan_t yyscanner)
{
}
}
-/** Setup the input buffer state to scan directly from a user-specified character buffer.
- * @param base the character buffer
- * @param size the size in bytes of the character buffer
- * @param yyscanner The scanner object.
- * @return the newly allocated buffer state object.
+/*!
+ * \brief Setup the input buffer state to scan directly from a user-specified character buffer.
+ * \param base the character buffer
+ * \param size the size in bytes of the character buffer
+ * \param yyscanner The scanner object.
+ *
+ * \return the newly allocated buffer state object.
*/
YY_BUFFER_STATE ael_yy_scan_buffer (char * base, yy_size_t size , yyscan_t yyscanner)
{
return b;
}
-/** Setup the input buffer state to scan a string. The next call to ael_yylex() will
+/*!
+ * \brief Setup the input buffer state to scan a string. The next call to ael_yylex() will
* scan from a @e copy of @a str.
- * @param str a NUL-terminated string to scan
- * @param yyscanner The scanner object.
- * @return the newly allocated buffer state object.
- * @note If you want to scan bytes that may contain NUL values, then use
+ * \param str a NUL-terminated string to scan
+ * \param yyscanner The scanner object.
+ *
+ * \return the newly allocated buffer state object.
+ *
+ * \note If you want to scan bytes that may contain NUL values, then use
* ael_yy_scan_bytes() instead.
*/
YY_BUFFER_STATE ael_yy_scan_string (yyconst char * str , yyscan_t yyscanner)
return ael_yy_scan_bytes(str,strlen(str) ,yyscanner);
}
-/** Setup the input buffer state to scan the given bytes. The next call to ael_yylex() will
+/*!
+ * \brief Setup the input buffer state to scan the given bytes. The next call to ael_yylex() will
* scan from a @e copy of @a bytes.
- * @param bytes the byte buffer to scan
- * @param len the number of bytes in the buffer pointed to by @a bytes.
- * @param yyscanner The scanner object.
- * @return the newly allocated buffer state object.
+ * \param bytes the byte buffer to scan
+ * \param len the number of bytes in the buffer pointed to by @a bytes.
+ * \param yyscanner The scanner object.
+ *
+ * \return the newly allocated buffer state object.
*/
YY_BUFFER_STATE ael_yy_scan_bytes (yyconst char * bytes, int len , yyscan_t yyscanner)
{
/* Accessor methods (get/set functions) to struct members. */
-/** Get the user-defined data for this scanner.
- * @param yyscanner The scanner object.
+/*!
+ * \brief Get the user-defined data for this scanner.
+ * \param yyscanner The scanner object.
*/
YY_EXTRA_TYPE ael_yyget_extra (yyscan_t yyscanner)
{
return yyextra;
}
-/** Get the current line number.
- * @param yyscanner The scanner object.
+/*!
+ * \brief Get the current line number.
+ * \param yyscanner The scanner object.
*/
int ael_yyget_lineno (yyscan_t yyscanner)
{
return yylineno;
}
-/** Get the current column number.
- * @param yyscanner The scanner object.
+/*!
+ * \brief Get the current column number.
+ * \param yyscanner The scanner object.
*/
int ael_yyget_column (yyscan_t yyscanner)
{
return yycolumn;
}
-/** Get the input stream.
- * @param yyscanner The scanner object.
+/*!
+ * \brief Get the input stream.
+ * \param yyscanner The scanner object.
*/
FILE *ael_yyget_in (yyscan_t yyscanner)
{
return yyin;
}
-/** Get the output stream.
- * @param yyscanner The scanner object.
+/*!
+ * \brief Get the output stream.
+ * \param yyscanner The scanner object.
*/
FILE *ael_yyget_out (yyscan_t yyscanner)
{
return yyout;
}
-/** Get the length of the current token.
- * @param yyscanner The scanner object.
+/*!
+ * \brief Get the length of the current token.
+ * \param yyscanner The scanner object.
*/
int ael_yyget_leng (yyscan_t yyscanner)
{
return yyleng;
}
-/** Get the current token.
- * @param yyscanner The scanner object.
+/*!
+ * \brief Get the current token.
+ * \param yyscanner The scanner object.
*/
char *ael_yyget_text (yyscan_t yyscanner)
return yytext;
}
-/** Set the user-defined data. This data is never touched by the scanner.
- * @param user_defined The data to be associated with this scanner.
- * @param yyscanner The scanner object.
+/*!
+ * \brief Set the user-defined data. This data is never touched by the scanner.
+ * \param user_defined The data to be associated with this scanner.
+ * \param yyscanner The scanner object.
*/
void ael_yyset_extra (YY_EXTRA_TYPE user_defined , yyscan_t yyscanner)
{
yyextra = user_defined ;
}
-/** Set the current line number.
- * @param line_number
- * @param yyscanner The scanner object.
+/*!
+ * \brief Set the current line number.
+ * \param line_number
+ * \param yyscanner The scanner object.
*/
void ael_yyset_lineno (int line_number , yyscan_t yyscanner)
{
yylineno = line_number;
}
-/** Set the current column.
- * @param line_number
- * @param yyscanner The scanner object.
+/*!
+ * \brief Set the current column.
+ * \param line_number
+ * \param yyscanner The scanner object.
*/
void ael_yyset_column (int column_no , yyscan_t yyscanner)
{
yycolumn = column_no;
}
-/** Set the input stream. This does not discard the current
+/*!
+ * \brief Set the input stream. This does not discard the current
* input buffer.
- * @param in_str A readable stream.
- * @param yyscanner The scanner object.
- * @see ael_yy_switch_to_buffer
+ * \param in_str A readable stream.
+ * \param yyscanner The scanner object.
+ *
+ * \see ael_yy_switch_to_buffer
*/
void ael_yyset_in (FILE * in_str , yyscan_t yyscanner)
{