toast.c
上传用户:aoeyumen
上传日期:2007-01-06
资源大小:3329k
文件大小:2k
源码类别:

DVD

开发平台:

Unix_Linux

  1. /*
  2.  * Copyright (C) 1998,1999  Thomas Mirlacher
  3.  *
  4.  * This program is free software; you can redistribute it and/or modify
  5.  * it under the terms of the GNU General Public License as published by
  6.  * the Free Software Foundation; either version 2 of the License, or
  7.  * (at your option) any later version.
  8.  * 
  9.  * This program is distributed in the hope that it will be useful,
  10.  * but WITHOUT ANY WARRANTY; without even the implied warranty of
  11.  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  12.  * GNU General Public License for more details.
  13.  * 
  14.  * You should have received a copy of the GNU General Public License
  15.  * along with this program; if not, write to the Free Software
  16.  * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  17.  * 
  18.  * The author may be reached as dent@cosy.sbg.ac.at, or
  19.  * Thomas Mirlacher, Jakob-Haringerstr. 2, A-5020 Salzburg,
  20.  * Austria
  21.  *
  22.  *------------------------------------------------------------
  23.  *
  24.  */
  25. #ifdef PARSER
  26. #include <stdio.h>
  27. #endif
  28. #include <sys/types.h>
  29. #include <unistd.h>
  30. #include "ifo.h"
  31. #include "misc.h"
  32. #include "decode.h"
  33. #define TMT_SUB_LEN 4
  34. /**
  35.  *
  36.  */
  37. void ifo_print_toast (u_char *ptr)
  38. {
  39. ifo_hdr_t *hdr = (ifo_hdr_t *) ptr;
  40. int i;
  41. if (!ptr)
  42. return;
  43. printf ("TOAST TABLEn");
  44. printf ("---n");
  45. printf ("number of maps: %dn", ntohs (hdr->num));
  46. printf ("length of table: %dn", ntohl (hdr->len));
  47. ptr += IFO_HDR_LEN;
  48. for (i=0; i<ntohs (hdr->num); i++) {
  49. printf ("%08x %08x %08xn",
  50. get4bytes (ptr+=4),
  51. get4bytes (ptr+=4),
  52. get4bytes (ptr+=4));
  53. }
  54. }