| 
									
										
										
										
											2018-01-22 19:11:18 -05:00
										 |  |  | #ifndef Py_INTERNAL_CONTEXT_H
 | 
					
						
							|  |  |  | #define Py_INTERNAL_CONTEXT_H
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-04-17 23:02:26 +02:00
										 |  |  | #ifndef Py_BUILD_CORE
 | 
					
						
							|  |  |  | #  error "this header requires Py_BUILD_CORE define"
 | 
					
						
							| 
									
										
										
										
											2018-11-09 13:03:37 +01:00
										 |  |  | #endif
 | 
					
						
							| 
									
										
										
										
											2018-01-22 19:11:18 -05:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-10-02 23:51:20 +02:00
										 |  |  | #include "pycore_hamt.h"   /* PyHamtObject */
 | 
					
						
							| 
									
										
										
										
											2018-01-22 19:11:18 -05:00
										 |  |  | 
 | 
					
						
							|  |  |  | struct _pycontextobject { | 
					
						
							|  |  |  |     PyObject_HEAD | 
					
						
							|  |  |  |     PyContext *ctx_prev; | 
					
						
							|  |  |  |     PyHamtObject *ctx_vars; | 
					
						
							|  |  |  |     PyObject *ctx_weakreflist; | 
					
						
							|  |  |  |     int ctx_entered; | 
					
						
							|  |  |  | }; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | struct _pycontextvarobject { | 
					
						
							|  |  |  |     PyObject_HEAD | 
					
						
							|  |  |  |     PyObject *var_name; | 
					
						
							|  |  |  |     PyObject *var_default; | 
					
						
							|  |  |  |     PyObject *var_cached; | 
					
						
							|  |  |  |     uint64_t var_cached_tsid; | 
					
						
							|  |  |  |     uint64_t var_cached_tsver; | 
					
						
							|  |  |  |     Py_hash_t var_hash; | 
					
						
							|  |  |  | }; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | struct _pycontexttokenobject { | 
					
						
							|  |  |  |     PyObject_HEAD | 
					
						
							|  |  |  |     PyContext *tok_ctx; | 
					
						
							|  |  |  |     PyContextVar *tok_var; | 
					
						
							|  |  |  |     PyObject *tok_oldval; | 
					
						
							|  |  |  |     int tok_used; | 
					
						
							|  |  |  | }; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | int _PyContext_Init(void); | 
					
						
							|  |  |  | void _PyContext_Fini(void); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #endif /* !Py_INTERNAL_CONTEXT_H */
 |