freebsd_linker.h 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. /*
  2. * GRUB -- GRand Unified Bootloader
  3. * Copyright (C) 2008,2009 Free Software Foundation, Inc.
  4. *
  5. * GRUB is free software: you can redistribute it and/or modify
  6. * it under the terms of the GNU General Public License as published by
  7. * the Free Software Foundation, either version 3 of the License, or
  8. * (at your option) any later version.
  9. *
  10. * GRUB is distributed in the hope that it will be useful,
  11. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  12. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  13. * GNU General Public License for more details.
  14. *
  15. * You should have received a copy of the GNU General Public License
  16. * along with GRUB. If not, see <http://www.gnu.org/licenses/>.
  17. */
  18. /*-
  19. * Copyright (c) 1997-2000 Doug Rabson
  20. * All rights reserved.
  21. *
  22. * Redistribution and use in source and binary forms, with or without
  23. * modification, are permitted provided that the following conditions
  24. * are met:
  25. * 1. Redistributions of source code must retain the above copyright
  26. * notice, this list of conditions and the following disclaimer.
  27. * 2. Redistributions in binary form must reproduce the above copyright
  28. * notice, this list of conditions and the following disclaimer in the
  29. * documentation and/or other materials provided with the distribution.
  30. *
  31. * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
  32. * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  33. * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  34. * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
  35. * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  36. * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  37. * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  38. * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  39. * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  40. * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  41. * SUCH DAMAGE.
  42. *
  43. * $FreeBSD: stable/8/sys/sys/linker.h 199583 2009-11-20 15:27:52Z jhb $
  44. */
  45. #ifndef GRUB_FREEBSD_LINKER_CPU_HEADER
  46. #define GRUB_FREEBSD_LINKER_CPU_HEADER 1
  47. #define FREEBSD_MODINFO_END 0x0000 /* End of list */
  48. #define FREEBSD_MODINFO_NAME 0x0001 /* Name of module (string) */
  49. #define FREEBSD_MODINFO_TYPE 0x0002 /* Type of module (string) */
  50. #define FREEBSD_MODINFO_ADDR 0x0003 /* Loaded address */
  51. #define FREEBSD_MODINFO_SIZE 0x0004 /* Size of module */
  52. #define FREEBSD_MODINFO_EMPTY 0x0005 /* Has been deleted */
  53. #define FREEBSD_MODINFO_ARGS 0x0006 /* Parameters string */
  54. #define FREEBSD_MODINFO_METADATA 0x8000 /* Module-specfic */
  55. #define FREEBSD_MODINFOMD_AOUTEXEC 0x0001 /* a.out exec header */
  56. #define FREEBSD_MODINFOMD_ELFHDR 0x0002 /* ELF header */
  57. #define FREEBSD_MODINFOMD_SSYM 0x0003 /* start of symbols */
  58. #define FREEBSD_MODINFOMD_ESYM 0x0004 /* end of symbols */
  59. #define FREEBSD_MODINFOMD_DYNAMIC 0x0005 /* _DYNAMIC pointer */
  60. #define FREEBSD_MODINFOMD_ENVP 0x0006 /* envp[] */
  61. #define FREEBSD_MODINFOMD_HOWTO 0x0007 /* boothowto */
  62. #define FREEBSD_MODINFOMD_KERNEND 0x0008 /* kernend */
  63. #define FREEBSD_MODINFOMD_SHDR 0x0009 /* section header table */
  64. #define FREEBSD_MODINFOMD_NOCOPY 0x8000 /* don't copy this metadata to the kernel */
  65. #define FREEBSD_MODINFOMD_SMAP 0x1001
  66. #define FREEBSD_MODINFOMD_DEPLIST (0x4001 | FREEBSD_MODINFOMD_NOCOPY) /* depends on */
  67. #endif