mirror of
				https://github.com/python/cpython.git
				synced 2025-10-31 05:31:20 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			73 lines
		
	
	
	
		
			1.9 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			73 lines
		
	
	
	
		
			1.9 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| #ifndef Py_INTERNAL_PATHCONFIG_H
 | |
| #define Py_INTERNAL_PATHCONFIG_H
 | |
| #ifdef __cplusplus
 | |
| extern "C" {
 | |
| #endif
 | |
| 
 | |
| #ifndef Py_BUILD_CORE
 | |
| #  error "this header requires Py_BUILD_CORE define"
 | |
| #endif
 | |
| 
 | |
| typedef struct _PyPathConfig {
 | |
|     /* Full path to the Python program */
 | |
|     wchar_t *program_full_path;
 | |
|     wchar_t *prefix;
 | |
|     wchar_t *exec_prefix;
 | |
|     /* Set by Py_SetPath(), or computed by _PyConfig_InitPathConfig() */
 | |
|     wchar_t *module_search_path;
 | |
|     /* Python program name */
 | |
|     wchar_t *program_name;
 | |
|     /* Set by Py_SetPythonHome() or PYTHONHOME environment variable */
 | |
|     wchar_t *home;
 | |
| #ifdef MS_WINDOWS
 | |
|     /* isolated and site_import are used to set Py_IsolatedFlag and
 | |
|        Py_NoSiteFlag flags on Windows in read_pth_file(). These fields
 | |
|        are ignored when their value are equal to -1 (unset). */
 | |
|     int isolated;
 | |
|     int site_import;
 | |
|     /* Set when a venv is detected */
 | |
|     wchar_t *base_executable;
 | |
| #endif
 | |
| } _PyPathConfig;
 | |
| 
 | |
| #ifdef MS_WINDOWS
 | |
| #  define _PyPathConfig_INIT \
 | |
|       {.module_search_path = NULL, \
 | |
|        .isolated = -1, \
 | |
|        .site_import = -1}
 | |
| #else
 | |
| #  define _PyPathConfig_INIT \
 | |
|       {.module_search_path = NULL}
 | |
| #endif
 | |
| /* Note: _PyPathConfig_INIT sets other fields to 0/NULL */
 | |
| 
 | |
| PyAPI_DATA(_PyPathConfig) _Py_path_config;
 | |
| #ifdef MS_WINDOWS
 | |
| PyAPI_DATA(wchar_t*) _Py_dll_path;
 | |
| #endif
 | |
| 
 | |
| extern void _PyPathConfig_ClearGlobal(void);
 | |
| 
 | |
| extern PyStatus _PyPathConfig_Calculate(
 | |
|     _PyPathConfig *pathconfig,
 | |
|     const PyConfig *config);
 | |
| extern int _PyPathConfig_ComputeSysPath0(
 | |
|     const PyWideStringList *argv,
 | |
|     PyObject **path0);
 | |
| extern PyStatus _Py_FindEnvConfigValue(
 | |
|     FILE *env_file,
 | |
|     const wchar_t *key,
 | |
|     wchar_t **value_p);
 | |
| 
 | |
| #ifdef MS_WINDOWS
 | |
| extern wchar_t* _Py_GetDLLPath(void);
 | |
| #endif
 | |
| 
 | |
| extern PyStatus _PyConfig_WritePathConfig(const PyConfig *config);
 | |
| extern void _Py_DumpPathConfig(PyThreadState *tstate);
 | |
| extern PyObject* _PyPathConfig_AsDict(void);
 | |
| 
 | |
| #ifdef __cplusplus
 | |
| }
 | |
| #endif
 | |
| #endif /* !Py_INTERNAL_PATHCONFIG_H */
 | 
