``define_data_var`` defines a non-user data variable ``var_type`` at the virtual address ``addr``. :param int addr: virtual address to define the given data variable :param StringOrType var_type: type to be defined at the given virtual address :param Optional[Union[str, '_types.CoreSymbol'
( self, addr: int, var_type: StringOrType, name: Optional[Union[str, '_types.CoreSymbol']] = None )
| 4957 | core.BNAbortAnalysis(self.handle) |
| 4958 | |
| 4959 | def define_data_var( |
| 4960 | self, addr: int, var_type: StringOrType, name: Optional[Union[str, '_types.CoreSymbol']] = None |
| 4961 | ) -> None: |
| 4962 | """ |
| 4963 | ``define_data_var`` defines a non-user data variable ``var_type`` at the virtual address ``addr``. |
| 4964 | |
| 4965 | :param int addr: virtual address to define the given data variable |
| 4966 | :param StringOrType var_type: type to be defined at the given virtual address |
| 4967 | :param Optional[Union[str, '_types.CoreSymbol']] name: Optionally additionally define a symbol at this location |
| 4968 | :rtype: None |
| 4969 | :Example: |
| 4970 | |
| 4971 | >>> t = bv.parse_type_string("int foo") |
| 4972 | >>> t |
| 4973 | (<type: int32_t>, 'foo') |
| 4974 | >>> bv.define_data_var(bv.entry_point, t[0]) |
| 4975 | >>> bv.define_data_var(bv.entry_point + 4, "int", "foo") |
| 4976 | >>> bv.get_symbol_at(bv.entry_point + 4) |
| 4977 | <DataSymbol: "foo" @ 0x23950> |
| 4978 | >>> bv.get_data_var_at(bv.entry_point + 4) |
| 4979 | <var 0x23950: int32_t> |
| 4980 | """ |
| 4981 | |
| 4982 | if isinstance(var_type, str): |
| 4983 | (var_type, _) = self.parse_type_string(var_type) |
| 4984 | tc = var_type._to_core_struct() |
| 4985 | core.BNDefineDataVariable(self.handle, addr, tc) |
| 4986 | |
| 4987 | if name is not None: |
| 4988 | if isinstance(name, str): |
| 4989 | name = _types.Symbol(SymbolType.DataSymbol, addr, name) |
| 4990 | self.define_auto_symbol(name) |
| 4991 | |
| 4992 | def define_user_data_var( |
| 4993 | self, addr: int, var_type: StringOrType, name: Optional[Union[str, '_types.CoreSymbol']] = None |
nothing calls this directly
no test coverage detected