| 251 | } |
| 252 | |
| 253 | bool |
| 254 | db_value_of_name_vnet(const char *name, db_expr_t *valuep) |
| 255 | { |
| 256 | #ifdef VIMAGE |
| 257 | static char tmp[256]; |
| 258 | db_expr_t value; |
| 259 | c_db_sym_t sym; |
| 260 | struct vnet *vnet; |
| 261 | |
| 262 | if (db_vnet != NULL) |
| 263 | vnet = db_vnet; |
| 264 | else |
| 265 | vnet = curvnet; |
| 266 | snprintf(tmp, sizeof(tmp), "vnet_entry_%s", name); |
| 267 | sym = db_lookup(tmp); |
| 268 | if (sym == C_DB_SYM_NULL) |
| 269 | return (false); |
| 270 | db_symbol_values(sym, &name, &value); |
| 271 | if (value < VNET_START || value >= VNET_STOP) |
| 272 | return (false); |
| 273 | *valuep = (db_expr_t)((uintptr_t)value + vnet->vnet_data_base); |
| 274 | return (true); |
| 275 | #else |
| 276 | return (false); |
| 277 | #endif |
| 278 | } |
| 279 | |
| 280 | /* |
| 281 | * Lookup a symbol. |
no test coverage detected