flex: Why do flex scanners call fileno if it is not ANSI compatible?

 
 Why do flex scanners call fileno if it is not ANSI compatible?
 ==============================================================
 
 Flex scanners call 'fileno()' in order to get the file descriptor
 corresponding to 'yyin'.  The file descriptor may be passed to
 'isatty()' or 'read()', depending upon which '%options' you specified.
 If your system does not have 'fileno()' support, to get rid of the
 'read()' call, do not specify '%option read'.  To get rid of the
 'isatty()' call, you must specify one of '%option always-interactive' or
 '%option never-interactive'.