~ubuntu-branches/ubuntu/quantal/gputils/quantal

« back to all changes in this revision

Viewing changes to libgputils/gpcoff.h

  • Committer: Bazaar Package Importer
  • Author(s): Aurelien Jarno
  • Date: 2005-04-16 01:00:23 UTC
  • mto: This revision was merged to the branch mainline in revision 5.
  • Revision ID: james.westby@ubuntu.com-20050416010023-xo612jqs8xlk0b3d
Tags: upstream-0.13.1
ImportĀ upstreamĀ versionĀ 0.13.1

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
1
/* gpcoff.h - header file for pic object files
2
 
   Copyright (C) 2001, 2002, 2003, 2004
 
2
   Copyright (C) 2001, 2002, 2003, 2004, 2005
3
3
   Craig Franklin
4
4
 
5
5
This file is part of gputils.
302
302
#define C_LIST      108  /* absoulte listing on or off */
303
303
#define C_SECTION   109  /* section */
304
304
 
305
 
/* Auxillary symbol table entry for a file */
 
305
/* Auxiliary symbol table entry for a file */
306
306
struct aux_file
307
307
{
308
308
  unsigned long  x_offset;  /* String table offset for filename */
311
311
  char _unused[10];
312
312
};
313
313
 
314
 
/* Auxillary symbol table entry for a section */
 
314
/* Auxiliary symbol table entry for a section */
315
315
struct aux_scn
316
316
{
317
317
  unsigned long  x_scnlen;  /* Section Length */
320
320
  char _unused[10];
321
321
};
322
322
 
323
 
/* Auxillary symbol table entry for the tagname of a struct/union/enum */
 
323
/* Auxiliary symbol table entry for the tagname of a struct/union/enum */
324
324
struct aux_tag
325
325
{
326
326
  char _unused[6];
331
331
  char _unused3[2];
332
332
};
333
333
 
334
 
/* Auxillary symbol table entry for an end of struct/union/enum */
 
334
/* Auxiliary symbol table entry for an end of struct/union/enum */
335
335
struct aux_eos
336
336
{
337
337
  unsigned long x_tagndx;    /* Symbol index of struct/union/enum tag */
340
340
  char _unused2[10];
341
341
};
342
342
 
343
 
/* Auxillary symbol table entry for a function name */
 
343
/* Auxiliary symbol table entry for a function name */
344
344
struct aux_fcn
345
345
{
346
346
  unsigned long x_tagndx;   /* Unused??  Tag Index */
351
351
  unsigned short x_actsize; /* size of static activation record to allocate */
352
352
};
353
353
 
354
 
/* Auxillary symbol table entry for an array */
 
354
/* Auxiliary symbol table entry for an array */
355
355
struct aux_arr
356
356
{
357
357
  unsigned long  x_tagndx;   /* Unused??  Tag Index */
360
360
  unsigned short x_dimen[4]; /* Size of first four dimensions */
361
361
};
362
362
 
363
 
/* Auxillary symbol table entry for the end of a block or function */
 
363
/* Auxiliary symbol table entry for the end of a block or function */
364
364
struct aux_eobf
365
365
{
366
366
  char _unused[4];
369
369
  char _unused2[12];
370
370
};
371
371
 
372
 
/* Auxillary symbol table entry for the beginning of a block or function */
 
372
/* Auxiliary symbol table entry for the beginning of a block or function */
373
373
struct aux_bobf
374
374
{
375
375
  char _unused[4];
380
380
  char _unused3[2];
381
381
};
382
382
 
383
 
/* Auxillary symbol table entry for a variable of type struct/union/enum */
 
383
/* Auxiliary symbol table entry for a variable of type struct/union/enum */
384
384
struct aux_var
385
385
{
386
386
  unsigned long x_tagndx;  /* Symbol Index of struct/union/enum tagname */
389
389
  char _unused2[10];
390
390
};
391
391
 
392
 
/* Auxillary entries */
 
392
/* Auxiliary entries */
393
393
#define X_DIMNUM   4
394
394
#define AUX_NONE   0
395
395
#define AUX_FILE   1  /* detail information for a source file */
401
401
#define AUX_EOBF   7  /* end of block or function */
402
402
#define AUX_BOBF   8  /* beginning of block or function */
403
403
#define AUX_VAR    9  /* variable */
 
404
#define AUX_DIRECT 10 /* direct message */
 
405
#define AUX_IDENT  11 /* ident */
404
406
 
405
407
/* These definitions are for the COFF as stored in memory. */
406
408
 
442
444
  struct gp_linenum_type *next;
443
445
} gp_linenum_type;
444
446
 
445
 
/* auxilary symbol linked list */
 
447
/* auxiliary symbol linked list */
446
448
 
447
449
typedef struct gp_aux_type 
448
450
{
449
 
  /* auxilary symbol type */
 
451
  /* auxiliary symbol type */
450
452
  long type;
451
453
 
452
454
  /* FIXME: Finish the aux entries. */
453
455
  union {
454
456
    struct {
 
457
      unsigned char command;
 
458
      char *string;
 
459
    } _aux_direct;
 
460
    struct {
455
461
      char *filename;
456
462
      unsigned long line_number; 
457
463
    } _aux_file;
458
464
    struct {
459
 
      unsigned long  length; 
460
 
      unsigned short nreloc; 
 
465
      char *string;
 
466
    } _aux_ident;
 
467
    struct {
 
468
      unsigned long  length;
 
469
      unsigned short nreloc;
461
470
      unsigned short nlineno;
462
471
    } _aux_scn;
463
472
    char data[SYMBOL_SIZE];
492
501
   /* number of auxiliary symbols */
493
502
  char num_auxsym;
494
503
 
495
 
  /* auxilary symbols */
 
504
  /* auxiliary symbols */
496
505
  struct gp_aux_type *aux_list;
497
506
 
498
507
  /* symbol number, only valid when writing coff or cod file */