Print this page
saveargs: let disasm do the lifting

Split Close
Expand all
Collapse all
          --- old/usr/src/lib/libdisasm/common/libdisasm.h
          +++ new/usr/src/lib/libdisasm/common/libdisasm.h
↓ open down ↓ 19 lines elided ↑ open up ↑
  20   20   */
  21   21  
  22   22  /*
  23   23   * Copyright 2007 Sun Microsystems, Inc.  All rights reserved.
  24   24   * Use is subject to license terms.
  25   25   */
  26   26  
  27   27  #ifndef _LIBDISASM_H
  28   28  #define _LIBDISASM_H
  29   29  
  30      -#pragma ident   "%Z%%M% %I%     %E% SMI"
  31      -
  32   30  #include <sys/types.h>
  33   31  
  34   32  #ifdef  __cplusplus
  35   33  extern "C" {
  36   34  #endif
  37   35  
  38   36  typedef struct dis_handle dis_handle_t;
  39   37  
  40   38  #define DIS_DEFAULT             0x0
  41   39  
↓ open down ↓ 18 lines elided ↑ open up ↑
  60   58  
  61   59  extern dis_handle_t *dis_handle_create(int, void *, dis_lookup_f, dis_read_f);
  62   60  extern void dis_handle_destroy(dis_handle_t *);
  63   61  
  64   62  extern int dis_disassemble(dis_handle_t *, uint64_t, char *, size_t);
  65   63  extern uint64_t dis_previnstr(dis_handle_t *, uint64_t, int n);
  66   64  extern void dis_set_data(dis_handle_t *, void *);
  67   65  extern void dis_flags_set(dis_handle_t *, int f);
  68   66  extern void dis_flags_clear(dis_handle_t *, int f);
  69   67  extern int dis_max_instrlen(dis_handle_t *);
       68 +extern int dis_instrlen(dis_handle_t *, uint64_t);
  70   69  
  71   70  /* libdisasm errors */
  72   71  #define E_DIS_NOMEM             1       /* Out of memory */
  73   72  #define E_DIS_INVALFLAG         2       /* Invalid flag for this architecture */
  74   73  
  75   74  extern int dis_errno(void);
  76   75  extern const char *dis_strerror(int);
  77   76  
  78   77  #ifdef  __cplusplus
  79   78  }
  80   79  #endif
  81   80  
  82   81  #endif  /* _LIBDISASM_H */
    
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX