# The Very High Level Layer

The functions in this chapter will let you execute Python source code given in a file or a buffer, but they will not let you interact in a more detailed way with the interpreter.

Several of these functions accept a start symbol from the grammar as a parameter. The available start symbols are :const:Py_eval_input, :const:Py_file_input, and :const:Py_single_input. These are described following the functions which accept them as parameters.

Note also that several of these functions take :c:type:FILE\* parameters. One particular issue which needs to be handled carefully is that the :c:type:FILE structure for different C libraries can be different and incompatible. Under Windows (at least), it is possible for dynamically linked extensions to actually use different libraries, so care should be taken that :c:type:FILE\* parameters are only passed to these functions if it is certain that they were created by the same library that the Python runtime is using.