ReactOS  0.4.13-dev-479-gec9c8fd
isohybrid.c File Reference
#include <time.h>
#include <ctype.h>
#include <fcntl.h>
#include <stdio.h>
#include <signal.h>
#include <stdlib.h>
#include <string.h>
#include <sys/stat.h>
#include "isohybrid.h"
#include "reactos_support_code.h"
Include dependency graph for isohybrid.c:

Go to the source code of this file.

Classes

struct  iso_primary_descriptor
 

Macros

#define _FILE_OFFSET_BITS   64
 
#define FMT   "%-20s %s\n"
 

Enumerations

enum  { VERBOSE = 1, EFI = 2, MAC = 4 }
 

Functions

void usage (void)
 
void printh (void)
 
int check_option (int argc, char *argv[])
 
uint16_t bendian_short (const uint16_t s)
 
uint32_t bendian_int (const uint32_t s)
 
uint16_t lendian_short (const uint16_t s)
 
uint32_t lendian_int (const uint32_t s)
 
uint64_t lendian_64 (const uint64_t s)
 
int check_banner (const uint8_t *buf)
 
int check_catalogue (const uint8_t *buf)
 
int read_catalogue (const uint8_t *buf)
 
void display_catalogue (void)
 
void read_mbr_template (char *path, uint8_t *mbr)
 
size_t initialise_mbr (uint8_t *mbr)
 
void display_mbr (const uint8_t *mbr, size_t len)
 
uint32_t chksum_crc32 (unsigned char *block, unsigned int length)
 
static uint16_tascii_to_utf16le (uint16_t *dst, const char *src)
 
int main (int argc, char *argv[])
 

Variables

charprog = NULL
 
int opterr
 
int optind
 
struct stat isostat
 
unsigned int padding = 0
 
uint8_t mode = 0
 
uint32_t head = 64
 
uint32_t sector = 32
 
uint32_t entry = 0
 
uint32_t offset = 0
 
uint32_t type = 0x17
 
uint32_t id = 0
 
uint8_t hd0 = 0
 
uint8_t partok = 0
 
char mbr_template_path [1024] = {0}
 
uint16_t ve [16]
 
uint32_t catoffset = 0
 
uint32_t c = 0
 
uint32_t cc = 0
 
uint32_t cs = 0
 
uint32_t psize = 0
 
uint32_t isosize = 0
 
uint32_t de_lba = 0
 
uint16_t de_seg = 0
 
uint16_t de_count = 0
 
uint16_t de_mbz2 = 0
 
uint8_t de_boot = 0
 
uint8_t de_media = 0
 
uint8_t de_sys = 0
 
uint8_t de_mbz1 = 0
 
uint32_t efi_lba = 0
 
uint32_t mac_lba = 0
 
uint16_t efi_count = 0
 
uint16_t mac_count = 0
 
uint8_t efi_boot = 0
 
uint8_t efi_media = 0
 
uint8_t efi_sys = 0
 
int apm_parts = 3
 
uint32_t crc_tab [256]
 

Macro Definition Documentation

◆ _FILE_OFFSET_BITS

#define _FILE_OFFSET_BITS   64

Definition at line 26 of file isohybrid.c.

◆ FMT

#define FMT   "%-20s %s\n"

Enumeration Type Documentation

◆ anonymous enum

anonymous enum
Enumerator
VERBOSE 
EFI 
MAC 

Definition at line 57 of file isohybrid.c.

57 { VERBOSE = 1 , EFI = 2 , MAC = 4};
Definition: isohybrid.c:57
Definition: isohybrid.c:57

Function Documentation

◆ ascii_to_utf16le()

static uint16_t* ascii_to_utf16le ( uint16_t dst,
const char src 
)
static

Definition at line 815 of file isohybrid.c.

816 {
817  uint8_t *p = (uint8_t *)dst;
818  char c;
819 
820  do {
821  c = *src++;
822  *p++ = c;
823  *p++ = 0;
824  } while (c);
825 
826  return (uint16_t *)p;
827 }
unsigned short int uint16_t
Definition: acefiex.h:54
const GLubyte * c
Definition: glext.h:8905
uint32_t c
Definition: isohybrid.c:75
GLenum src
Definition: glext.h:6340
BYTE uint8_t
Definition: msvideo1.c:66
GLenum GLenum dst
Definition: glext.h:6340
GLfloat GLfloat p
Definition: glext.h:8902

◆ bendian_int()

uint32_t bendian_int ( const uint32_t  s)

Definition at line 414 of file isohybrid.c.

415 {
416  uint32_t r = 1;
417 
418  if (!*(uint8_t *)&r)
419  return s;
420 
421  r = (s & 0x000000FF) << 24 | (s & 0xFF000000) >> 24
422  | (s & 0x0000FF00) << 8 | (s & 0x00FF0000) >> 8;
423 
424  return r;
425 }
GLdouble GLdouble GLdouble r
Definition: gl.h:2055
GLdouble s
Definition: gl.h:2039
BYTE uint8_t
Definition: msvideo1.c:66
UINT32 uint32_t
Definition: types.h:75

◆ bendian_short()

uint16_t bendian_short ( const uint16_t  s)

Definition at line 400 of file isohybrid.c.

401 {
402  uint16_t r = 1;
403 
404  if (!*(uint8_t *)&r)
405  return s;
406 
407  r = (s & 0x00FF) << 8 | (s & 0xFF00) >> 8;
408 
409  return r;
410 }
GLdouble GLdouble GLdouble r
Definition: gl.h:2055
unsigned short int uint16_t
Definition: acefiex.h:54
GLdouble s
Definition: gl.h:2039
BYTE uint8_t
Definition: msvideo1.c:66

◆ check_banner()

int check_banner ( const uint8_t buf)

Definition at line 473 of file isohybrid.c.

474 {
475  static const char banner[] = "\0CD001\1EL TORITO SPECIFICATION\0\0\0\0" \
476  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" \
477  "\0\0\0\0\0";
478 
479  if (!buf || memcmp(buf, banner, sizeof(banner) - 1))
480  return 1;
481 
482  buf += sizeof(banner) - 1;
483  memcpy(&catoffset, buf, sizeof(catoffset));
484 
486 
487  return 0;
488 }
int memcmp(void *Buffer1, void *Buffer2, ACPI_SIZE Count)
Definition: utclib.c:112
GLenum GLuint GLenum GLsizei const GLchar * buf
Definition: glext.h:7751
uint32_t catoffset
Definition: isohybrid.c:74
uint32_t lendian_int(const uint32_t s)
Definition: isohybrid.c:442
void banner(void)
Definition: main.c:541
#define memcpy(s1, s2, n)
Definition: mkisofs.h:878

Referenced by main().

◆ check_catalogue()

int check_catalogue ( const uint8_t buf)

Definition at line 492 of file isohybrid.c.

493 {
494  int i = 0;
495 
496  for (i = 0, cs = 0; i < 16; i++)
497  {
498  ve[i] = 0;
499  memcpy(&ve[i], buf, sizeof(ve[i]));
500 
501  ve[i] = lendian_short(ve[i]);
502 
503  buf += 2;
504  cs += ve[i];
505 
506  if (mode & VERBOSE)
507  printf("ve[%d]: %d, cs: %d\n", i, ve[i], cs);
508  }
509  if ((ve[0] != 0x0001) || (ve[15] != 0xAA55) || (cs & 0xFFFF))
510  return 1;
511 
512  return 0;
513 }
GLenum GLuint GLenum GLsizei const GLchar * buf
Definition: glext.h:7751
uint16_t ve[16]
Definition: isohybrid.c:73
uint32_t cs
Definition: isohybrid.c:75
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
Definition: glfuncs.h:248
#define memcpy(s1, s2, n)
Definition: mkisofs.h:878
GLenum mode
Definition: glext.h:6217
uint16_t lendian_short(const uint16_t s)
Definition: isohybrid.c:428
#define printf
Definition: config.h:203

Referenced by main().

◆ check_option()

int check_option ( int  argc,
char argv[] 
)

Definition at line 271 of file isohybrid.c.

272 {
273  char *err = NULL;
274  int n = 0, ind = 0;
275 
276  const char optstr[] = ":h:s:e:o:t:i:b:umfcp?vV";
277  struct option lopt[] = \
278  {
279  { "entry", required_argument, NULL, 'e' },
280  { "offset", required_argument, NULL, 'o' },
281  { "type", required_argument, NULL, 't' },
282  { "id", required_argument, NULL, 'i' },
283 
284  { "forcehd0", no_argument, NULL, 'f' },
285  { "ctrlhd0", no_argument, NULL, 'c' },
286  { "partok", no_argument, NULL, 'p'},
287 #ifdef REACTOS_ISOHYBRID_EFI_MAC_SUPPORT
288  { "uefi", no_argument, NULL, 'u'},
289  { "mac", no_argument, NULL, 'm'},
290 #endif
291  { "mbr", required_argument, NULL, 'b' },
292 
293  { "help", no_argument, NULL, '?' },
294  { "verbose", no_argument, NULL, 'v' },
295  { "version", no_argument, NULL, 'V' },
296 
297  { 0, 0, 0, 0 }
298  };
299 
300  opterr = mode = 0;
301  while ((n = getopt_long_only(argc, argv, optstr, lopt, &ind)) != -1)
302  {
303  switch (n)
304  {
305  case 'h':
306  head = strtoul(optarg, &err, 0);
307  if (head < 1 || head > 256)
308  errx(1, "invalid head: `%s', 1 <= head <= 256", optarg);
309  break;
310 
311  case 's':
312  sector = strtoul(optarg, &err, 0);
313  if (sector < 1 || sector > 63)
314  errx(1, "invalid sector: `%s', 1 <= sector <= 63", optarg);
315  break;
316 
317  case 'e':
318  entry = strtoul(optarg, &err, 0);
319  if (entry < 1 || entry > 4)
320  errx(1, "invalid entry: `%s', 1 <= entry <= 4", optarg);
321  if (mode & MAC || mode & EFI)
322  errx(1, "setting an entry is unsupported with EFI or Mac");
323  break;
324 
325  case 'o':
326  offset = strtoul(optarg, &err, 0);
327  if (*err || offset > 64)
328  errx(1, "invalid offset: `%s', 0 <= offset <= 64", optarg);
329  break;
330 
331  case 't':
332  type = strtoul(optarg, &err, 0);
333  if (*err || type > 255)
334  errx(1, "invalid type: `%s', 0 <= type <= 255", optarg);
335  break;
336 
337  case 'i':
338  id = strtoul(optarg, &err, 0);
339  if (*err)
340  errx(1, "invalid id: `%s'", optarg);
341  break;
342 
343  case 'f':
344  hd0 = 1;
345  break;
346 
347  case 'c':
348  hd0 = 2;
349  break;
350 
351  case 'p':
352  partok = 1;
353  break;
354 
355 #ifdef REACTOS_ISOHYBRID_EFI_MAC_SUPPORT
356  case 'u':
357  mode |= EFI;
358  if (entry)
359  errx(1, "setting an entry is unsupported with EFI or Mac");
360  break;
361 
362  case 'm':
363  mode |= MAC;
364  if (entry)
365  errx(1, "setting an entry is unsupported with EFI or Mac");
366  break;
367 #endif
368 
369  case 'b':
370  if (strlen(optarg) >= sizeof(mbr_template_path))
371  errx(1, "--mbr : Path too long");
373  break;
374 
375  case 'v':
376  mode |= VERBOSE;
377  break;
378 
379  case 'V':
380  printf("%s version %s\n", prog, VERSION);
381  exit(0);
382 
383  case ':':
384  errx(1, "option `-%c' takes an argument", optopt);
385 
386  default:
387  case '?':
388  if (optopt)
389  errx(1, "invalid option `-%c', see --help", optopt);
390 
391  printh();
392  exit(0);
393  }
394  }
395 
396  return optind;
397 }
static int argc
Definition: ServiceArgs.c:12
int getopt_long_only(optarg_ctx *o, int argc, WCHAR *const *argv, const WCHAR *shortopts, const struct option *longopts, int *longind)
uint32_t sector
Definition: isohybrid.c:61
UINT32 strtoul(const char *String, char **Terminator, UINT32 Base)
Definition: utclib.c:696
int optopt
Definition: getopt.c:47
ACPI_SIZE strlen(const char *String)
Definition: utclib.c:269
Definition: isohybrid.c:57
char * prog
Definition: isohybrid.c:47
GLintptr offset
Definition: glext.h:5920
GLdouble n
Definition: glext.h:7729
GLuint GLuint GLsizei GLenum type
Definition: gl.h:1545
#define argv
Definition: mplay32.c:18
uint8_t hd0
Definition: isohybrid.c:68
uint32_t head
Definition: isohybrid.c:60
void printh(void)
Definition: isohybrid.c:235
smooth NULL
Definition: ftsmooth.c:416
Definition: getopt.h:108
Definition: isohybrid.c:57
#define required_argument
Definition: getopt.h:123
#define errx(...)
char mbr_template_path[1024]
Definition: isohybrid.c:71
int optind
Definition: getopt.c:47
#define no_argument
Definition: getopt.h:122
uint32_t entry
Definition: isohybrid.c:63
#define err(...)
GLenum mode
Definition: glext.h:6217
const char * optarg
Definition: getopt.c:49
uint8_t partok
Definition: isohybrid.c:69
char * strcpy(char *DstString, const char *SrcString)
Definition: utclib.c:388
void exit(int exitcode)
Definition: _exit.c:33
#define VERSION
Definition: rdesktop.h:45
int opterr
Definition: getopt.c:46
#define printf
Definition: config.h:203

Referenced by main().

◆ chksum_crc32()

uint32_t chksum_crc32 ( unsigned char block,
unsigned int  length 
)

Definition at line 788 of file isohybrid.c.

789 {
790  register unsigned long crc;
791  unsigned long i;
792 
793  crc = 0xFFFFFFFF;
794  for (i = 0; i < length; i++)
795  {
796  crc = ((crc >> 8) & 0x00FFFFFF) ^ crc_tab[(crc ^ *block++) & 0xFF];
797  }
798  return (crc ^ 0xFFFFFFFF);
799 }
static unsigned int block
Definition: xmlmemory.c:118
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
Definition: glfuncs.h:248
uint32_t crc_tab[256]
Definition: isohybrid.c:97
GLenum GLuint GLenum GLsizei length
Definition: glext.h:5579

◆ display_catalogue()

void display_catalogue ( void  )

Definition at line 589 of file isohybrid.c.

590 {
591  printf("de_boot: %hhu\n", de_boot);
592  printf("de_media: %hhu\n", de_media);
593  printf("de_seg: %hu\n", de_seg);
594  printf("de_sys: %hhu\n", de_sys);
595  printf("de_mbz1: %hhu\n", de_mbz1);
596  printf("de_count: %hu\n", de_count);
597  printf("de_lba: %u\n", de_lba);
598  printf("de_mbz2: %hu\n", de_mbz2);
599 }
uint8_t de_sys
Definition: isohybrid.c:82
uint8_t de_mbz1
Definition: isohybrid.c:82
uint16_t de_count
Definition: isohybrid.c:81
uint16_t de_seg
Definition: isohybrid.c:81
uint8_t de_boot
Definition: isohybrid.c:82
uint16_t de_mbz2
Definition: isohybrid.c:81
uint8_t de_media
Definition: isohybrid.c:82
uint32_t de_lba
Definition: isohybrid.c:80
#define printf
Definition: config.h:203

Referenced by main().

◆ display_mbr()

void display_mbr ( const uint8_t mbr,
size_t  len 
)

Definition at line 760 of file isohybrid.c.

761 {
762  unsigned char c = 0;
763  unsigned int i = 0, j = 0;
764 
765  printf("sizeof(MBR): %zu bytes\n", len);
766  for (i = 0; i < len; i++)
767  {
768  if (!(i % 16))
769  printf("%04d ", i);
770 
771  if (!(i % 8))
772  printf(" ");
773 
774  c = mbr[i];
775  printf("%02x ", c);
776 
777  if (!((i + 1) % 16))
778  {
779  printf(" |");
780  for (; j <= i; j++)
781  printf("%c", isprint(mbr[j]) ? mbr[j] : '.');
782  printf("|\n");
783  }
784  }
785 }
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
Definition: glfuncs.h:248
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint GLint GLint j
Definition: glfuncs.h:250
const GLubyte * c
Definition: glext.h:8905
GLenum GLsizei len
Definition: glext.h:6722
#define isprint(c)
Definition: acclib.h:73
#define printf
Definition: config.h:203

Referenced by main().

◆ initialise_mbr()

size_t initialise_mbr ( uint8_t mbr)

Definition at line 620 of file isohybrid.c.

621 {
622  int i = 0;
623  uint32_t tmp = 0;
624  uint8_t ptype = 0, *rbm = mbr;
625  uint8_t bhead = 0, bsect = 0, bcyle = 0;
626  uint8_t ehead = 0, esect = 0, ecyle = 0;
627 
628 #ifndef ISOHYBRID_C_STANDALONE
629  extern unsigned char isohdpfx[][MBRSIZE];
630 #endif
631 
632  if (mbr_template_path[0]) {
634  } else {
635 
636 #ifdef ISOHYBRID_C_STANDALONE
637 
638  err(1, "This is a standalone binary. You must specify --mbr. E.g with /usr/lib/syslinux/isohdpfx.bin");
639 
640 #else
641 
642  memcpy(mbr, &isohdpfx[hd0 + 3 * partok], MBRSIZE);
643 
644 #endif /* ! ISOHYBRID_C_STANDALONE */
645 
646  }
647 
648 #ifdef REACTOS_ISOHYBRID_EFI_MAC_SUPPORT
649  if (mode & MAC) {
650  memcpy(mbr, afp_header, sizeof(afp_header));
651  }
652 #endif
653 
654  if (!entry)
655  entry = 1;
656 
657 #ifdef REACTOS_ISOHYBRID_EFI_MAC_SUPPORT
658  if (mode & EFI)
659  type = 0;
660 #endif
661 
662  mbr += MBRSIZE; /* offset 432 */
663 
664  tmp = lendian_int(de_lba * 4);
665  memcpy(mbr, &tmp, sizeof(tmp));
666  mbr += sizeof(tmp); /* offset 436 */
667 
668  tmp = 0;
669  memcpy(mbr, &tmp, sizeof(tmp));
670  mbr += sizeof(tmp); /* offset 440 */
671 
672  tmp = lendian_int(id);
673  memcpy(mbr, &tmp, sizeof(tmp));
674  mbr += sizeof(tmp); /* offset 444 */
675 
676  mbr[0] = '\0';
677  mbr[1] = '\0';
678  mbr += 2; /* offset 446 */
679 
680  ptype = type;
681  psize = c * head * sector - offset;
682 
683  bhead = (offset / sector) % head;
684  bsect = (offset % sector) + 1;
685  bcyle = offset / (head * sector);
686 
687  bsect += (bcyle & 0x300) >> 2;
688  bcyle &= 0xFF;
689 
690  ehead = head - 1;
691  esect = sector + (((cc - 1) & 0x300) >> 2);
692  ecyle = (cc - 1) & 0xFF;
693 
694  for (i = 1; i <= 4; i++)
695  {
696  memset(mbr, 0, 16);
697  if (i == entry)
698  {
699  mbr[0] = 0x80;
700  mbr[1] = bhead;
701  mbr[2] = bsect;
702  mbr[3] = bcyle;
703  mbr[4] = ptype;
704  mbr[5] = ehead;
705  mbr[6] = esect;
706  mbr[7] = ecyle;
707 
708  tmp = lendian_int(offset);
709  memcpy(&mbr[8], &tmp, sizeof(tmp));
710 
711  tmp = lendian_int(psize);
712  memcpy(&mbr[12], &tmp, sizeof(tmp));
713  }
714 #ifdef REACTOS_ISOHYBRID_EFI_MAC_SUPPORT
715  if (i == 2 && (mode & EFI))
716  {
717  mbr[0] = 0x0;
718  mbr[1] = 0xfe;
719  mbr[2] = 0xff;
720  mbr[3] = 0xff;
721  mbr[4] = 0xef;
722  mbr[5] = 0xfe;
723  mbr[6] = 0xff;
724  mbr[7] = 0xff;
725 
726  tmp = lendian_int(efi_lba * 4);
727  memcpy(&mbr[8], &tmp, sizeof(tmp));
728 
729  tmp = lendian_int(efi_count);
730  memcpy(&mbr[12], &tmp, sizeof(tmp));
731  }
732  if (i == 3 && (mode & MAC))
733  {
734  mbr[0] = 0x0;
735  mbr[1] = 0xfe;
736  mbr[2] = 0xff;
737  mbr[3] = 0xff;
738  mbr[4] = 0x0;
739  mbr[5] = 0xfe;
740  mbr[6] = 0xff;
741  mbr[7] = 0xff;
742 
743  tmp = lendian_int(mac_lba * 4);
744  memcpy(&mbr[8], &tmp, sizeof(tmp));
745 
746  tmp = lendian_int(mac_count);
747  memcpy(&mbr[12], &tmp, sizeof(tmp));
748  }
749 #endif
750  mbr += 16;
751  }
752  mbr[0] = 0x55;
753  mbr[1] = 0xAA;
754  mbr += 2;
755 
756  return mbr - rbm;
757 }
void read_mbr_template(char *path, uint8_t *mbr)
Definition: isohybrid.c:603
uint32_t sector
Definition: isohybrid.c:61
Definition: isohybrid.c:57
#define MBRSIZE
Definition: isohybrid.h:25
uint16_t efi_count
Definition: isohybrid.c:84
GLintptr offset
Definition: glext.h:5920
GLuint GLuint GLsizei GLenum type
Definition: gl.h:1545
uint32_t efi_lba
Definition: isohybrid.c:83
uint8_t hd0
Definition: isohybrid.c:68
uint32_t head
Definition: isohybrid.c:60
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
Definition: glfuncs.h:248
uint32_t lendian_int(const uint32_t s)
Definition: isohybrid.c:442
Definition: isohybrid.c:57
uint32_t psize
Definition: isohybrid.c:77
const GLubyte * c
Definition: glext.h:8905
char mbr_template_path[1024]
Definition: isohybrid.c:71
uint32_t entry
Definition: isohybrid.c:63
#define memcpy(s1, s2, n)
Definition: mkisofs.h:878
uint16_t mac_count
Definition: isohybrid.c:84
#define err(...)
GLenum mode
Definition: glext.h:6217
BYTE uint8_t
Definition: msvideo1.c:66
uint32_t offset
Definition: isohybrid.c:64
uint32_t de_lba
Definition: isohybrid.c:80
uint32_t cc
Definition: isohybrid.c:75
uint32_t type
Definition: isohybrid.c:65
UINT32 uint32_t
Definition: types.h:75
uint8_t partok
Definition: isohybrid.c:69
uint32_t mac_lba
Definition: isohybrid.c:83
#define memset(x, y, z)
Definition: compat.h:39

Referenced by main().

◆ lendian_64()

uint64_t lendian_64 ( const uint64_t  s)

Definition at line 456 of file isohybrid.c.

457 {
458  uint64_t r = 1;
459 
460  if (*(uint8_t *)&r)
461  return s;
462 
463  r = (s & 0x00000000000000FFull) << 56 | (s & 0xFF00000000000000ull) >> 56
464  | (s & 0x000000000000FF00ull) << 40 | (s & 0x00FF000000000000ull) >> 40
465  | (s & 0x0000000000FF0000ull) << 24 | (s & 0x0000FF0000000000ull) >> 24
466  | (s & 0x00000000FF000000ull) << 8 | (s & 0x000000FF00000000ull) >> 8;
467 
468  return r;
469 }
GLdouble GLdouble GLdouble r
Definition: gl.h:2055
GLdouble s
Definition: gl.h:2039
BYTE uint8_t
Definition: msvideo1.c:66
UINT64 uint64_t
Definition: types.h:77

◆ lendian_int()

uint32_t lendian_int ( const uint32_t  s)

Definition at line 442 of file isohybrid.c.

443 {
444  uint32_t r = 1;
445 
446  if (*(uint8_t *)&r)
447  return s;
448 
449  r = (s & 0x000000FF) << 24 | (s & 0xFF000000) >> 24
450  | (s & 0x0000FF00) << 8 | (s & 0x00FF0000) >> 8;
451 
452  return r;
453 }
GLdouble GLdouble GLdouble r
Definition: gl.h:2055
GLdouble s
Definition: gl.h:2039
BYTE uint8_t
Definition: msvideo1.c:66
UINT32 uint32_t
Definition: types.h:75

Referenced by check_banner(), initialise_mbr(), main(), and read_catalogue().

◆ lendian_short()

uint16_t lendian_short ( const uint16_t  s)

Definition at line 428 of file isohybrid.c.

429 {
430  uint16_t r = 1;
431 
432  if (*(uint8_t *)&r)
433  return s;
434 
435  r = (s & 0x00FF) << 8 | (s & 0xFF00) >> 8;
436 
437  return r;
438 }
GLdouble GLdouble GLdouble r
Definition: gl.h:2055
unsigned short int uint16_t
Definition: acefiex.h:54
GLdouble s
Definition: gl.h:2039
BYTE uint8_t
Definition: msvideo1.c:66

Referenced by check_catalogue(), main(), and read_catalogue().

◆ main()

int main ( int argc  ,
char argv[] 
)

hosttype.c Copyright (C) 2002 by Brian Palmer brian.nosp@m.p@sg.nosp@m.inet..nosp@m.com

Definition at line 972 of file isohybrid.c.

973 {
974  int i = 0;
975  FILE *fp = NULL;
976  uint8_t *buf = NULL, *bufz = NULL;
977  int cylsize = 0, frac = 0;
978  size_t mbr_size;
979 #ifdef REACTOS_ISOHYBRID_EFI_MAC_SUPPORT
980  size_t orig_gpt_size, free_space, gpt_size;
981 #endif
982  struct iso_primary_descriptor descriptor;
983 
984  prog = strcpy(alloca(strlen(argv[0]) + 1), argv[0]);
985  i = check_option(argc, argv);
986  argc -= i;
987  argv += i;
988 
989  if (!argc)
990  {
991  usage();
992  return 1;
993  }
994 
995 #ifdef REACTOS_ISOHYBRID_EFI_MAC_SUPPORT
996  if ((mode & EFI) && offset)
997  errx(1, "%s: --offset is invalid with UEFI images\n", argv[0]);
998 #endif
999 
1000  srand((unsigned int)time(NULL) << (getppid() << getpid()));
1001 
1002  if (!(fp = fopen(argv[0], "rb+")))
1003  err(1, "could not open file `%s'", argv[0]);
1004 
1005  if (fseeko(fp, (off_t) (16 << 11), SEEK_SET))
1006  err(1, "%s: seek error - 0", argv[0]);
1007 
1008  if (fread(&descriptor, sizeof(char), sizeof(descriptor), fp) != sizeof(descriptor))
1009  err(1, "%s: read error - 0", argv[0]);
1010 
1011  if (fseeko(fp, (off_t) 17 * 2048, SEEK_SET))
1012  err(1, "%s: seek error - 1", argv[0]);
1013 
1014  bufz = buf = calloc(BUFSIZE, sizeof(char));
1015  if (fread(buf, sizeof(char), BUFSIZE, fp) != BUFSIZE)
1016  err(1, "%s", argv[0]);
1017 
1018  if (check_banner(buf))
1019  errx(1, "%s: could not find boot record", argv[0]);
1020 
1021  if (mode & VERBOSE)
1022  printf("catalogue offset: %d\n", catoffset);
1023 
1024  if (fseeko(fp, ((off_t) catoffset) * 2048, SEEK_SET))
1025  err(1, "%s: seek error - 2", argv[0]);
1026 
1027  buf = bufz;
1028  memset(buf, 0, BUFSIZE);
1029  if (fread(buf, sizeof(char), BUFSIZE, fp) != BUFSIZE)
1030  err(1, "%s", argv[0]);
1031 
1032  if (check_catalogue(buf))
1033  errx(1, "%s: invalid boot catalogue", argv[0]);
1034 
1035  buf += sizeof(ve);
1036  if (read_catalogue(buf))
1037  errx(1, "%s: unexpected boot catalogue parameters", argv[0]);
1038 
1039  if (mode & VERBOSE)
1041 
1042  buf += 32;
1043 
1044 #ifdef REACTOS_ISOHYBRID_EFI_MAC_SUPPORT
1045  if (mode & EFI)
1046  {
1047  if (!read_efi_section(buf)) {
1048  buf += 32;
1049  if (!read_efi_catalogue(buf, &efi_count, &efi_lba) && efi_lba) {
1050  offset = 0;
1051  } else {
1052  errx(1, "%s: invalid efi catalogue", argv[0]);
1053  }
1054  } else {
1055  errx(1, "%s: unable to find efi image", argv[0]);
1056  }
1057  }
1058 #endif
1059 
1060  buf += 32;
1061 
1062 #ifdef REACTOS_ISOHYBRID_EFI_MAC_SUPPORT
1063  if (mode & MAC)
1064  {
1065  if (!read_efi_section(buf)) {
1066  buf += 32;
1067  if (!read_efi_catalogue(buf, &mac_count, &mac_lba) && mac_lba) {
1068  offset = 0;
1069  } else {
1070  errx(1, "%s: invalid efi catalogue", argv[0]);
1071  }
1072  } else {
1073  errx(1, "%s: unable to find mac efi image", argv[0]);
1074  }
1075  }
1076 #endif
1077 
1078  if (fseeko(fp, (((off_t) de_lba) * 2048 + 0x40), SEEK_SET))
1079  err(1, "%s: seek error - 3", argv[0]);
1080 
1081  buf = bufz;
1082  memset(buf, 0, BUFSIZE);
1083  if (fread(buf, sizeof(char), 4, fp) != 4)
1084  err(1, "%s", argv[0]);
1085 
1086  if (memcmp(buf, "\xFB\xC0\x78\x70", 4))
1087  errx(1, "%s: boot loader does not have an isolinux.bin hybrid " \
1088  "signature. Note that isolinux-debug.bin does not support " \
1089  "hybrid booting", argv[0]);
1090 
1091  if (stat(argv[0], &isostat))
1092  err(1, "%s", argv[0]);
1093 
1094  isosize = lendian_int(descriptor.size) * lendian_short(descriptor.block_size);
1095 #ifdef REACTOS_ISOHYBRID_EFI_MAC_SUPPORT
1096  free_space = isostat.st_size - isosize;
1097 #endif
1098 
1099  cylsize = head * sector * 512;
1100  frac = isostat.st_size % cylsize;
1101  padding = (frac > 0) ? cylsize - frac : 0;
1102 
1103  if (mode & VERBOSE)
1104  printf("imgsize: %zu, padding: %d\n", (size_t)isostat.st_size, padding);
1105 
1106  cc = c = ( isostat.st_size + padding) / cylsize;
1107  if (c > 1024)
1108  {
1109  warnx("Warning: more than 1024 cylinders: %d", c);
1110  warnx("Not all BIOSes will be able to boot this device");
1111  cc = 1024;
1112  }
1113 
1114  if (!id)
1115  {
1116  if (fseeko(fp, (off_t) 440, SEEK_SET))
1117  err(1, "%s: seek error - 4", argv[0]);
1118 
1119  if (fread(&id, 1, 4, fp) != 4)
1120  err(1, "%s: read error", argv[0]);
1121 
1122  id = lendian_int(id);
1123  if (!id)
1124  {
1125  if (mode & VERBOSE)
1126  printf("random ");
1127  id = rand();
1128  }
1129  }
1130  if (mode & VERBOSE)
1131  printf("id: %u\n", id);
1132 
1133  buf = bufz;
1134  memset(buf, 0, BUFSIZE);
1135  mbr_size = initialise_mbr(buf);
1136 
1137  if (mode & VERBOSE)
1138  display_mbr(buf, mbr_size);
1139 
1140  if (fseeko(fp, (off_t) 0, SEEK_SET))
1141  err(1, "%s: seek error - 5", argv[0]);
1142 
1143  if (fwrite(buf, sizeof(char), mbr_size, fp) != mbr_size)
1144  err(1, "%s: write error - 1", argv[0]);
1145 
1146 #ifdef REACTOS_ISOHYBRID_EFI_MAC_SUPPORT
1147  if (efi_lba) {
1148  reverse_uuid(basic_partition);
1149  reverse_uuid(hfs_partition);
1150 
1151  /* 512 byte header, 128 entries of 128 bytes */
1152  orig_gpt_size = gpt_size = 512 + (128 * 128);
1153 
1154  /* Leave space for the APM if necessary */
1155  if (mac_lba)
1156  gpt_size += (4 * 2048);
1157 
1158  buf = calloc(gpt_size, sizeof(char));
1159  memset(buf, 0, gpt_size);
1160 
1161  /*
1162  * We need to ensure that we have enough space for the secondary GPT.
1163  * Unlike the primary, this doesn't need a hole for the APM. We still
1164  * want to be 1MB aligned so just bump the padding by a megabyte.
1165  */
1166  if (free_space < orig_gpt_size && padding < orig_gpt_size) {
1167  padding += 1024 * 1024;
1168  }
1169 
1170  /*
1171  * Determine the size of the ISO filesystem. This will define the size
1172  * of the partition that covers it.
1173  */
1174  psize = isosize / 512;
1175 
1176  /*
1177  * Primary GPT starts at sector 1, secondary GPT starts at 1 sector
1178  * before the end of the image
1179  */
1180  initialise_gpt(buf, 1, (isostat.st_size + padding - 512) / 512, 1);
1181 
1182  if (fseeko(fp, (off_t) 512, SEEK_SET))
1183  err(1, "%s: seek error - 6", argv[0]);
1184 
1185  if (fwrite(buf, sizeof(char), gpt_size, fp) != gpt_size)
1186  err(1, "%s: write error - 2", argv[0]);
1187  }
1188 
1189  if (mac_lba)
1190  {
1191  /* Apple partition entries filling 2048 bytes each */
1192  int apm_size = apm_parts * 2048;
1193 
1194  buf = realloc(buf, apm_size);
1195  memset(buf, 0, apm_size);
1196 
1197  initialise_apm(buf, APM_OFFSET);
1198 
1199  fseeko(fp, (off_t) APM_OFFSET, SEEK_SET);
1200  fwrite(buf, sizeof(char), apm_size, fp);
1201  }
1202 #endif
1203 
1204  if (padding)
1205  {
1206  if (fsync(fileno(fp)))
1207  err(1, "%s: could not synchronise", argv[0]);
1208 
1209  if (ftruncate(fileno(fp), isostat.st_size + padding))
1210  err(1, "%s: could not add padding bytes", argv[0]);
1211  }
1212 
1213 #ifdef REACTOS_ISOHYBRID_EFI_MAC_SUPPORT
1214  if (efi_lba) {
1215  buf = realloc(buf, orig_gpt_size);
1216  memset(buf, 0, orig_gpt_size);
1217 
1218  buf += orig_gpt_size - sizeof(struct gpt_header);
1219 
1220  initialise_gpt(buf, (isostat.st_size + padding - 512) / 512, 1, 0);
1221 
1222  /* Shift back far enough to write the 128 GPT entries */
1223  buf -= 128 * sizeof(struct gpt_part_header);
1224 
1225  /*
1226  * Seek far enough back that the gpt header is 512 bytes before the
1227  * end of the image
1228  */
1229 
1230  if (fseeko(fp, (isostat.st_size + padding) - orig_gpt_size, SEEK_SET))
1231  err(1, "%s: seek error - 8", argv[0]);
1232 
1233  if (fwrite(buf, sizeof(char), orig_gpt_size, fp) != orig_gpt_size)
1234  err(1, "%s: write error - 4", argv[0]);
1235  }
1236 #endif
1237 
1238  free(buf);
1239  fclose(fp);
1240 
1241  return 0;
1242 }
#define realloc
Definition: debug_ros.c:6
void display_catalogue(void)
Definition: isohybrid.c:589
static int argc
Definition: ServiceArgs.c:12
uint32_t sector
Definition: isohybrid.c:61
void usage(void)
Definition: isohybrid.c:228
#define frac(x)
Definition: texture.c:364
int memcmp(void *Buffer1, void *Buffer2, ACPI_SIZE Count)
Definition: utclib.c:112
int check_option(int argc, char *argv[])
Definition: isohybrid.c:271
ACPI_SIZE strlen(const char *String)
Definition: utclib.c:269
GLenum GLuint GLenum GLsizei const GLchar * buf
Definition: glext.h:7751
uint16_t ve[16]
Definition: isohybrid.c:73
Definition: isohybrid.c:57
char * prog
Definition: isohybrid.c:47
#define free
Definition: debug_ros.c:5
__kernel_off_t off_t
Definition: linux.h:201
uint16_t efi_count
Definition: isohybrid.c:84
GLintptr offset
Definition: glext.h:5920
void __cdecl srand(_In_ unsigned int _Seed)
#define warnx(...)
int check_banner(const uint8_t *buf)
Definition: isohybrid.c:473
__u16 time
Definition: mkdosfs.c:366
int read_catalogue(const uint8_t *buf)
Definition: isohybrid.c:517
_Check_return_opt_ _CRTIMP size_t __cdecl fwrite(_In_reads_bytes_(_Size *_Count) const void *_Str, _In_ size_t _Size, _In_ size_t _Count, _Inout_ FILE *_File)
#define argv
Definition: mplay32.c:18
uint32_t efi_lba
Definition: isohybrid.c:83
uint32_t catoffset
Definition: isohybrid.c:74
#define alloca
Definition: malloc.h:361
uint32_t isosize
Definition: isohybrid.c:77
uint32_t head
Definition: isohybrid.c:60
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
Definition: glfuncs.h:248
_Check_return_opt_ _CRTIMP size_t __cdecl fread(_Out_writes_bytes_(_ElementSize *_Count) void *_DstBuf, _In_ size_t _ElementSize, _In_ size_t _Count, _Inout_ FILE *_File)
_Check_return_ int __cdecl rand(void)
Definition: rand.c:10
int ftruncate(int, off_t)
Definition: unistd.h:30
smooth NULL
Definition: ftsmooth.c:416
size_t initialise_mbr(uint8_t *mbr)
Definition: isohybrid.c:620
uint32_t lendian_int(const uint32_t s)
Definition: isohybrid.c:442
Definition: isohybrid.c:57
uint32_t psize
Definition: isohybrid.c:77
int apm_parts
Definition: isohybrid.c:87
#define SEEK_SET
Definition: jmemansi.c:26
_CRTIMP int __cdecl getpid(void)
unsigned int padding
Definition: isohybrid.c:50
struct stat isostat
Definition: isohybrid.c:49
_Check_return_ _CRTIMP int __cdecl fileno(_In_ FILE *_File)
#define errx(...)
const GLubyte * c
Definition: glext.h:8905
int check_catalogue(const uint8_t *buf)
Definition: isohybrid.c:492
uint16_t mac_count
Definition: isohybrid.c:84
_Check_return_opt_ _CRTIMP int __cdecl fclose(_Inout_ FILE *_File)
_Check_return_ _CRTIMP FILE *__cdecl fopen(_In_z_ const char *_Filename, _In_z_ const char *_Mode)
#define err(...)
GLenum mode
Definition: glext.h:6217
BYTE uint8_t
Definition: msvideo1.c:66
uint32_t de_lba
Definition: isohybrid.c:80
void display_mbr(const uint8_t *mbr, size_t len)
Definition: isohybrid.c:760
uint16_t lendian_short(const uint16_t s)
Definition: isohybrid.c:428
uint32_t cc
Definition: isohybrid.c:75
_CRTIMP int __cdecl stat(const char *_Filename, struct stat *_Stat)
Definition: stat.h:345
#define calloc
Definition: rosglue.h:14
char * strcpy(char *DstString, const char *SrcString)
Definition: utclib.c:388
uint32_t mac_lba
Definition: isohybrid.c:83
#define memset(x, y, z)
Definition: compat.h:39
#define BUFSIZE
Definition: discard.c:12
#define printf
Definition: config.h:203

◆ printh()

void printh ( void  )

Definition at line 235 of file isohybrid.c.

236 {
237 #define FMT "%-20s %s\n"
238 
239  usage();
240 
241  printf("\n");
242  printf("Options:\n");
243  printf(FMT, " -h <X>", "Number of geometry heads (default 64)");
244  printf(FMT, " -s <X>", "Number of geometry sectors (default 32)");
245  printf(FMT, " -e --entry", "Specify partition entry number (1-4)");
246  printf(FMT, " -o --offset", "Specify partition offset (default 0)");
247  printf(FMT, " -t --type", "Specify partition type (default 0x17)");
248  printf(FMT, " -i --id", "Specify MBR ID (default random)");
249 #ifdef REACTOS_ISOHYBRID_EFI_MAC_SUPPORT
250  printf(FMT, " -u --uefi", "Build EFI bootable image");
251  printf(FMT, " -m --mac", "Add AFP table support");
252 #endif
253  printf(FMT, " -b --mbr <PATH>", "Load MBR from PATH");
254 
255  printf("\n");
256  printf(FMT, " --forcehd0", "Assume we are loaded as disk ID 0");
257  printf(FMT, " --ctrlhd0", "Assume disk ID 0 if the Ctrl key is pressed");
258  printf(FMT, " --partok", "Allow booting from within a partition");
259 
260  printf("\n");
261  printf(FMT, " -? --help", "Display this help");
262  printf(FMT, " -v --verbose", "Display verbose output");
263  printf(FMT, " -V --version", "Display version information");
264 
265  printf("\n");
266  printf("Report bugs to <pj.pandit@yahoo.co.in>\n");
267 }
void usage(void)
Definition: isohybrid.c:228
#define FMT
#define printf
Definition: config.h:203

Referenced by check_option().

◆ read_catalogue()

int read_catalogue ( const uint8_t buf)

Definition at line 517 of file isohybrid.c.

518 {
519  memcpy(&de_boot, buf++, 1);
520  memcpy(&de_media, buf++, 1);
521 
522  memcpy(&de_seg, buf, 2);
524  buf += 2;
525 
526  memcpy(&de_sys, buf++, 1);
527  memcpy(&de_mbz1, buf++, 1);
528 
529  memcpy(&de_count, buf, 2);
531  buf += 2;
532 
533  memcpy(&de_lba, buf, 4);
535  buf += 4;
536 
537  memcpy(&de_mbz2, buf, 2);
539  buf += 2;
540 
541  if (de_boot != 0x88 || de_media != 0
542  || (de_seg != 0 && de_seg != 0x7C0) || de_count != 4)
543  return 1;
544 
545  return 0;
546 }
GLenum GLuint GLenum GLsizei const GLchar * buf
Definition: glext.h:7751
uint8_t de_sys
Definition: isohybrid.c:82
uint8_t de_mbz1
Definition: isohybrid.c:82
uint16_t de_count
Definition: isohybrid.c:81
uint32_t lendian_int(const uint32_t s)
Definition: isohybrid.c:442
uint16_t de_seg
Definition: isohybrid.c:81
uint8_t de_boot
Definition: isohybrid.c:82
uint16_t de_mbz2
Definition: isohybrid.c:81
uint8_t de_media
Definition: isohybrid.c:82
#define memcpy(s1, s2, n)
Definition: mkisofs.h:878
uint32_t de_lba
Definition: isohybrid.c:80
uint16_t lendian_short(const uint16_t s)
Definition: isohybrid.c:428

Referenced by main().

◆ read_mbr_template()

void read_mbr_template ( char path,
uint8_t mbr 
)

Definition at line 603 of file isohybrid.c.

604 {
605  FILE *fp;
606  size_t ret;
607 
608  fp = fopen(path, "rb");
609  if (fp == NULL)
610  err(1, "could not open MBR template file `%s'", path);
611  clearerr(fp);
612  ret = fread(mbr, 1, MBRSIZE, fp);
613  if (ferror(fp) || ret != MBRSIZE)
614  err(1, "error while reading MBR template file `%s'", path);
615  fclose(fp);
616 }
_Check_return_ _CRTIMP int __cdecl ferror(_In_ FILE *_File)
#define MBRSIZE
Definition: isohybrid.h:25
_Check_return_opt_ _CRTIMP size_t __cdecl fread(_Out_writes_bytes_(_ElementSize *_Count) void *_DstBuf, _In_ size_t _ElementSize, _In_ size_t _Count, _Inout_ FILE *_File)
smooth NULL
Definition: ftsmooth.c:416
int ret
_Check_return_opt_ _CRTIMP int __cdecl fclose(_Inout_ FILE *_File)
_Check_return_ _CRTIMP FILE *__cdecl fopen(_In_z_ const char *_Filename, _In_z_ const char *_Mode)
#define err(...)
Definition: services.c:325
_CRTIMP void __cdecl clearerr(_Inout_ FILE *_File)

Referenced by initialise_mbr().

◆ usage()

void usage ( void  )

Definition at line 228 of file isohybrid.c.

229 {
230  printf("Usage: %s [OPTIONS] <boot.iso>\n", prog);
231 }
char * prog
Definition: isohybrid.c:47
#define printf
Definition: config.h:203

Referenced by main(), and printh().

Variable Documentation

◆ apm_parts

int apm_parts = 3

Definition at line 87 of file isohybrid.c.

Referenced by main().

◆ c

uint32_t c = 0

Definition at line 75 of file isohybrid.c.

Referenced by ascii_to_utf16le().

◆ catoffset

uint32_t catoffset = 0

Definition at line 74 of file isohybrid.c.

Referenced by check_banner(), and main().

◆ cc

uint32_t cc = 0

Definition at line 75 of file isohybrid.c.

Referenced by __ieee754_j0(), __ieee754_j1(), __ieee754_y0(), __ieee754_y1(), _getws(), _tcschr(), _tcsrchr(), _TIFFNoPostDecode(), _TIFFNoRowDecode(), _TIFFNoRowEncode(), _TIFFNoStripDecode(), _TIFFNoStripEncode(), _TIFFNoTileDecode(), _TIFFNoTileEncode(), _TIFFSwab16BitData(), _TIFFSwab24BitData(), _TIFFSwab32BitData(), _TIFFSwab64BitData(), adns__consistency(), CC_WMInitDialog(), ClrLineHercules(), Consonant_is_below_base_form(), Consonant_is_post_base_form(), Consonant_is_pre_base_form(), CryptCATClose(), CryptCATEnumerateAttr(), CryptCATEnumerateCatAttr(), CryptCATEnumerateMember(), CryptCATGetAttrInfo(), CryptCATGetCatAttrInfo(), CryptCATGetMemberInfo(), CryptCATOpen(), DIB_16BPP_HLine(), DispCallFunc(), DumpModeDecode(), DumpModeEncode(), f_read(), f_write(), fallbackSort(), fgets(), fgetws(), find_cc_var(), fpAcc(), fpDiff(), get_device_change_count(), GetColor(), gets(), halve1DimagePackedPixel(), halveImage3D(), halveImagePackedPixel(), halveImagePackedPixel3D(), halveImagePackedPixelSlice(), halveImageSlice(), HatchLineHercules(), horAcc16(), horAcc32(), horAcc8(), horDiff16(), horDiff32(), horDiff8(), init_cc(), initialise_mbr(), is_volume_mounted(), main(), mmioStringToFOURCCA(), new_cc_var(), OnColorButton(), PredictorEncodeRow(), PredictorEncodeTile(), release_cc(), sfnt_is_postscript(), swabHorAcc16(), swabHorAcc32(), swabHorDiff16(), swabHorDiff32(), test_marshal(), TIFFAppendToStrip(), TIFFReadRawStrip1(), TIFFReadRawTile1(), TIFFWriteEncodedStrip(), TIFFWriteEncodedTile(), TIFFWriteRawStrip(), TIFFWriteRawTile(), TranslateFunctionName(), verify_device(), verify_vcb(), warning(), and WDML_ServerNameProc().

◆ crc_tab

uint32_t crc_tab[256]

Definition at line 97 of file isohybrid.c.

Referenced by chksum_crc32().

◆ cs

uint32_t cs = 0

Definition at line 75 of file isohybrid.c.

Referenced by __xmlGlobalInitMutexLock(), _wcsicmp(), _wcsnicmp(), CardCount::Add(), AddCharacterRangeToCharSet(), AddCharacterToCharSet(), array_tests(), balance_data_chunk(), BlpArchInitialize(), CardCount::CardCount(), CFn_FitCharSet(), check_catalogue(), check_load_safety(), check_script_safety(), client_security_QueryInterface(), Collection_addCert(), Collection_addCRL(), Collection_addCTL(), Collection_enumCert(), Collection_enumCRL(), Collection_enumCTL(), Collection_release(), COMBOEX_Create(), confirm_safety(), confirm_safety_load(), Control_WndProc_Create(), create_activex_object(), create_chain(), create_object(), create_test_wndproc(), fnIMLangFontLink2_CodePagesToCodePage(), fnIMLangFontLink2_CodePageToCodePages(), full_title(), fullscreen_wnd_proc(), get_glyph_indices(), HEXEDIT_WM_NCCREATE(), III_antialias(), CardCount::Init(), InternetHostSecurityManager_QueryCustomPolicy(), IntGetNewWindowMode(), IntSetNewWindowMode(), iso2022jp_mbtowc(), iso2022jp_wctomb(), main_window_procA(), MCIWND_Create(), mdi_child_wnd_proc_1(), mdi_child_wnd_proc_2(), MDIClientWndProc_common(), ME_CreateTextHost(), MIDIMAP_LoadSettings(), CardRegion::MoveCard(), MsgiAnsiToUnicodeCleanup(), MsgiAnsiToUnicodeMessage(), MsgiUnicodeToAnsiCleanup(), MsgiUnicodeToAnsiMessage(), msi_dialog_oncreate(), OleDocumentView_UIActivate(), open_fileref(), CardStack::operator+(), CardStack::operator+=(), poll_queries(), CardStack::Pop(), PopupMenuWndProc(), CardRegion::Push(), ReadCabinetState(), RealDefWindowProcA(), RealDefWindowProcW(), REBAR_Create(), REBAR_NCCreate(), StringTest::replace(), s_sum_cs(), scroll_init_proc(), scrub_chunk(), CardRegion::SetCardStack(), shader_glsl_destroy(), SPY_DumpStructure(), STATIC_WindowProc(), StaticWndProc_common(), CardCount::Sub(), SysLinkWindowProc(), test_activex(), test_control_procA(), test_flash_ax(), test_GetCharABCWidths(), test_GetGlyphOutline(), test_MDI_child_stack(), test_nonexistent_font(), test_realization(), test_RtlInitializeCriticalSectionEx(), test_RtlLeaveCriticalSection(), test_security(), test_security_reg(), test_set_getsockopt(), tool_window_procA(), toolbar_subclass_proc(), TypeCmd(), UserLoadKbdLayout(), wined3d_cs_create(), wined3d_cs_destroy(), wined3d_cs_destroy_object(), wined3d_cs_emit_add_dirty_texture_region(), wined3d_cs_emit_blt_sub_resource(), wined3d_cs_emit_callback(), wined3d_cs_emit_clear(), wined3d_cs_emit_clear_rendertarget_view(), wined3d_cs_emit_clear_unordered_access_view_uint(), wined3d_cs_emit_copy_uav_counter(), wined3d_cs_emit_dispatch(), wined3d_cs_emit_dispatch_indirect(), wined3d_cs_emit_draw(), wined3d_cs_emit_draw_indirect(), wined3d_cs_emit_flush(), wined3d_cs_emit_generate_mipmaps(), wined3d_cs_emit_preload_resource(), wined3d_cs_emit_present(), wined3d_cs_emit_query_issue(), wined3d_cs_emit_reset_state(), wined3d_cs_emit_set_blend_state(), wined3d_cs_emit_set_clip_plane(), wined3d_cs_emit_set_color_key(), wined3d_cs_emit_set_constant_buffer(), wined3d_cs_emit_set_depth_stencil_view(), wined3d_cs_emit_set_index_buffer(), wined3d_cs_emit_set_light(), wined3d_cs_emit_set_light_enable(), wined3d_cs_emit_set_material(), wined3d_cs_emit_set_predication(), wined3d_cs_emit_set_rasterizer_state(), wined3d_cs_emit_set_render_state(), wined3d_cs_emit_set_rendertarget_view(), wined3d_cs_emit_set_sampler(), wined3d_cs_emit_set_sampler_state(), wined3d_cs_emit_set_scissor_rects(), wined3d_cs_emit_set_shader(), wined3d_cs_emit_set_shader_resource_view(), wined3d_cs_emit_set_stream_output(), wined3d_cs_emit_set_stream_source(), wined3d_cs_emit_set_stream_source_freq(), wined3d_cs_emit_set_texture(), wined3d_cs_emit_set_texture_state(), wined3d_cs_emit_set_transform(), wined3d_cs_emit_set_unordered_access_view(), wined3d_cs_emit_set_vertex_declaration(), wined3d_cs_emit_set_viewports(), wined3d_cs_emit_stop(), wined3d_cs_emit_unload_resource(), wined3d_cs_emit_update_sub_resource(), wined3d_cs_exec_add_dirty_texture_region(), wined3d_cs_exec_blt_sub_resource(), wined3d_cs_exec_clear(), wined3d_cs_exec_clear_unordered_access_view(), wined3d_cs_exec_copy_uav_counter(), wined3d_cs_exec_dispatch(), wined3d_cs_exec_draw(), wined3d_cs_exec_flush(), wined3d_cs_exec_present(), wined3d_cs_exec_push_constants(), wined3d_cs_exec_query_issue(), wined3d_cs_exec_reset_state(), wined3d_cs_exec_set_blend_state(), wined3d_cs_exec_set_clip_plane(), wined3d_cs_exec_set_color_key(), wined3d_cs_exec_set_constant_buffer(), wined3d_cs_exec_set_depth_stencil_view(), wined3d_cs_exec_set_index_buffer(), wined3d_cs_exec_set_light(), wined3d_cs_exec_set_light_enable(), wined3d_cs_exec_set_material(), wined3d_cs_exec_set_predication(), wined3d_cs_exec_set_rasterizer_state(), wined3d_cs_exec_set_render_state(), wined3d_cs_exec_set_rendertarget_view(), wined3d_cs_exec_set_sampler(), wined3d_cs_exec_set_sampler_state(), wined3d_cs_exec_set_scissor_rects(), wined3d_cs_exec_set_shader(), wined3d_cs_exec_set_shader_resource_view(), wined3d_cs_exec_set_stream_output(), wined3d_cs_exec_set_stream_source(), wined3d_cs_exec_set_stream_source_freq(), wined3d_cs_exec_set_texture(), wined3d_cs_exec_set_texture_state(), wined3d_cs_exec_set_transform(), wined3d_cs_exec_set_unordered_access_view(), wined3d_cs_exec_set_vertex_declaration(), wined3d_cs_exec_set_viewports(), wined3d_cs_exec_update_sub_resource(), wined3d_cs_init_object(), wined3d_cs_map(), wined3d_cs_mt_check_space(), wined3d_cs_mt_finish(), wined3d_cs_mt_push_constants(), wined3d_cs_mt_require_space(), wined3d_cs_mt_submit(), wined3d_cs_push_constants(), wined3d_cs_queue_is_empty(), wined3d_cs_queue_require_space(), wined3d_cs_queue_submit(), wined3d_cs_run(), wined3d_cs_st_push_constants(), wined3d_cs_st_require_space(), wined3d_cs_st_submit(), wined3d_cs_unmap(), wined3d_cs_wait_event(), wined3d_from_cs(), wined3d_not_from_cs(), wined3d_resource_wait_idle(), winsizes_wnd_proc(), CardWindow::WndProc(), and WriteCabinetState().

◆ de_boot

uint8_t de_boot = 0

Definition at line 82 of file isohybrid.c.

Referenced by display_catalogue(), and read_catalogue().

◆ de_count

uint16_t de_count = 0

Definition at line 81 of file isohybrid.c.

Referenced by display_catalogue(), and read_catalogue().

◆ de_lba

uint32_t de_lba = 0

Definition at line 80 of file isohybrid.c.

Referenced by display_catalogue(), initialise_mbr(), main(), and read_catalogue().

◆ de_mbz1

uint8_t de_mbz1 = 0

Definition at line 82 of file isohybrid.c.

Referenced by display_catalogue(), and read_catalogue().

◆ de_mbz2

uint16_t de_mbz2 = 0

Definition at line 81 of file isohybrid.c.

Referenced by display_catalogue(), and read_catalogue().

◆ de_media

uint8_t de_media = 0

Definition at line 82 of file isohybrid.c.

Referenced by display_catalogue(), and read_catalogue().

◆ de_seg

uint16_t de_seg = 0

Definition at line 81 of file isohybrid.c.

Referenced by display_catalogue(), and read_catalogue().

◆ de_sys

uint8_t de_sys = 0

Definition at line 82 of file isohybrid.c.

Referenced by display_catalogue(), and read_catalogue().

◆ efi_boot

uint8_t efi_boot = 0

Definition at line 85 of file isohybrid.c.

◆ efi_count

uint16_t efi_count = 0

Definition at line 84 of file isohybrid.c.

Referenced by initialise_mbr(), and main().

◆ efi_lba

uint32_t efi_lba = 0

Definition at line 83 of file isohybrid.c.

Referenced by initialise_mbr(), and main().

◆ efi_media

uint8_t efi_media = 0

Definition at line 85 of file isohybrid.c.

◆ efi_sys

uint8_t efi_sys = 0

Definition at line 85 of file isohybrid.c.

◆ entry

uint32_t entry = 0

Definition at line 63 of file isohybrid.c.

Referenced by _svcauth_des(), abort_dochost_tasks(), abort_window_bindings(), acpi_bus_find_driver(), acpi_bus_receive_event(), acquire_shader_resources(), ACTION_CostFinalize(), ACTION_FinishCustomActions(), ACTION_GetComponentInstallStates(), ACTION_GetFeatureInstallStates(), ACTION_InstallFiles(), ACTION_InstallValidate(), ACTION_MsiPublishAssemblies(), ACTION_MsiUnpublishAssemblies(), ACTION_PatchFiles(), ACTION_ProcessComponents(), ACTION_PublishFeatures(), ACTION_RefCountComponent(), ACTION_RegisterClassInfo(), ACTION_RegisterExtensionInfo(), ACTION_RegisterMIMEInfo(), ACTION_RegisterProgIdInfo(), ACTION_RemoveFiles(), ACTION_UnpublishFeatures(), ACTION_UnpublishProduct(), ACTION_UnregisterClassInfo(), ACTION_UnregisterExtensionInfo(), ACTION_UnregisterMIMEInfo(), ACTION_UnregisterProgIdInfo(), ACTION_UpdateComponentStates(), FileChildWindow::activate_entry(), activate_entry(), activate_textservices(), StartMenu::ActivateEntry(), add_active_textservice(), add_coclass_typeinfo(), add_component_by_priority(), add_cookie(), add_cookie_headers(), add_data_to_folder(), add_dispinterface_typeinfo(), hhp_key_value_section::add_entry(), add_entry(), add_enum_typeinfo(), add_files_to_folder(), add_func_desc(), add_function_decl(), add_glsl_program_entry(), add_importlib(), add_local_oid_text_to_control(), add_resource_data_entry(), add_resource_dir_entry(), add_sink_handler(), add_source_to_list(), add_struct_field(), add_structure_typeinfo(), add_table(), add_typedef(), add_undo(), add_union_typeinfo(), add_var_desc(), add_wildcard(), QuickLaunchBar::AddButton(), StartMenu::AddEntry(), StartMenu::AddShellEntries(), QuickLaunchBar::AddShortcuts(), AddStringToHash(), alloc_child_window(), alloc_entry(), alloc_msi_remote_handle(), alloc_msihandle(), alloc_rootdir_entry(), alloc_user_entry(), AllocateDictionaryEntry(), apartment_disconnectproxies(), apartment_findfromoxid(), apartment_findfromtid(), apartment_freeunusedlibraries(), apartment_getclassobject(), apartment_release(), append_attr(), append_attr_list(), append_str(), append_warning(), apply_lights(), arbfp_blit_set(), arbfp_blit_type_compare(), arbfp_free_blit_shader(), arbfp_free_ffpshader(), assign_stub_out_args(), atifs_free_ffpshader(), ATL::AtlComModuleRegisterServer(), ATL::AtlComModuleUnregisterServer(), attr_cache_entry_create(), attr_cache_entry_deref(), attr_cache_entry_expired(), attr_cache_entry_free(), attr_cache_entry_ref(), attr_cache_find_or_create(), attr_cache_insert(), attr_cache_update(), AVISplitter_next_request(), BIDI_DetermineLevels(), build_iface_list(), Bus_FDO_PnP(), Bus_PlugInDevice(), byte_swap_ifd_data(), cache_authorization(), cache_basic_authorization(), cache_cleanup(), cache_containers_enum(), cache_containers_find(), cache_containers_free(), cache_insert(), cache_lookup(), Pane::calc_single_width(), calc_single_width(), Pane::calc_widths(), calc_widths(), calculate_ea_list_length(), calculate_file_cost(), callwndproc_proc(), cctrl_event_OnButtonClicked(), cctrl_event_OnCheckButtonToggled(), cctrl_event_OnControlActivating(), cctrl_event_OnItemSelected(), cert_find_alt_name_entry(), CertAddStoreToCollection(), CertGetNameStringW(), CertRemoveStoreFromCollection(), CertVerifyCRLRevocation(), ChannelHooks_ClientFillBuffer(), ChannelHooks_ClientGetSize(), ChannelHooks_ClientNotify(), ChannelHooks_ServerFillBuffer(), ChannelHooks_ServerGetSize(), ChannelHooks_ServerNotify(), check_all_user_types(), check_arg_attrs(), check_async_uuid(), check_coclass_attrs(), check_codebase(), check_conformance_expr_list(), check_dispiface_attrs(), check_enum_attrs(), check_field_attrs(), check_for_additional_prototype_types(), check_function_attrs(), check_iface_attrs(), check_library_attrs(), check_module_attrs(), check_option(), check_pointers(), check_remoting_args(), check_remoting_fields(), check_statements(), check_struct_attrs(), check_typedef_attrs(), check_union_attrs(), ChildWndProc(), chmc_pmgl_add_entry(), chmc_pmgl_done(), ciffile_FindComponent(), ciffile_FindGroup(), ciffile_Release(), cl_addr_compare(), cl_exid_compare(), ClassInsertCScanList(), ClassRemoveCScanList(), clear_output_vars(), clear_task_timer(), ClientIdentity_QueryMultipleInterfaces(), clipbrd_wndproc(), clone_hlsl_type(), close_output_buffer(), cmp_codepage(), CoGetPSClsid(), collect_connections(), collect_objects(), CollectProgramsThread::collect_programs(), FindProgramDlg::collect_programs_callback(), collect_query_data(), Collection_control(), Collection_enumCert(), Collection_enumCRL(), Collection_enumCTL(), Collection_release(), COM_GetRegisteredClassObject(), COM_RevokeAllClasses(), FileChildWindow::Command(), compare_function_decl_rb(), compare_function_rb(), compare_hlsl_types(), compare_hlsl_types_rb(), compare_param_hlsl_types(), CompartmentEnumGuid_Next(), CompartmentMgr_ClearCompartment(), CompartmentMgr_Destructor(), CompartmentMgr_GetCompartment(), compile_function(), COMPOBJ_DllList_Add(), COMPOBJ_DllList_Free(), COMPOBJ_DllList_Get(), COMPOBJ_DllList_ReleaseRef(), component_free(), component_GetDependency(), component_GetDetVersion(), component_GetUrl(), ComponentEnum_Clone(), ComponentEnum_Next(), ComponentEnum_Release(), ComponentInfo_Compare(), components_count_expr_list(), components_count_type(), connect_scripts(), connection_collector(), context_apply_fbo_entry(), context_apply_fbo_state(), context_bind_shader_resources(), context_create_fbo_entry(), context_destroy_fbo_entry(), context_destroy_gl_resources(), context_entry_from_guid(), context_enum_fbo_entries(), context_find_fbo_entry(), context_get_entry(), context_handle_registered(), context_load_shader_resources(), context_queue_fbo_entry_destruction(), context_reuse_fbo_entry(), context_texture_update(), ContextPropertyList_Copy(), ContextPropertyList_EnumPropIDs(), ContextPropertyList_FindProperty(), ContextPropertyList_Free(), ContextPropertyList_RemoveProperty(), ContextPropertyList_SetProperty(), Control_WndProc(), Control_WndProc_Create(), CRegistryFolder::ConvertAttributes(), CNtObjectFolder::ConvertAttributes(), ConvertDbgHelp(), copy_data_blocks(), CorDebug_Terminate(), CoRegisterPSClsid(), CoRevokeClassObject(), count_children(), XMLStorage::XMLWriter::create(), create_automatic_entry(), create_msft_typeinfo(), create_msft_typelib(), create_sltg_typelib(), create_sub_body(), create_taskdialog_template(), create_tree_window(), CreateComponentInfo(), CreateTestPalette(), CredUIConfirmCredentialsW(), CredUIPromptForCredentialsW(), CRYPT_AsnDecodeAltNameEntry(), CRYPT_AsnDecodeCRLEntry(), CRYPT_AsnDecodeCTLEntry(), CRYPT_AsnEncodeAltNameEntry(), CRYPT_AsnEncodeCRLEntry(), CRYPT_AsnEncodeCTLEntry(), CRYPT_CollectionAddContext(), CRYPT_CollectionAdvanceEnum(), CRYPT_FindCertificateInCRL(), CRYPT_FormatAltNameEntry(), CRYPT_GetCachedSIP(), CRYPT_RegWriteToReg(), crypt_sip_free(), CryptCATEnumerateMember(), CryptEnumOIDInfo(), CryptFindOIDInfo(), ctrl_container_on_wm_destroy(), ctrl_container_reparent(), ctrl_container_resize(), ctrl_free(), ctrl_set_font(), CURSORICON_LoadFromFileW(), customctrl_resize(), d3d8_allocate_handle(), d3d8_free_handle(), d3d8_get_object(), d3d8_resource_free_private_data(), d3d9_resource_free_private_data(), d3d_device3_NextViewport(), d3d_device_inner_Release(), d3d_viewport_NextLight(), d3dcompiler_shader_reflection_type_compare(), d3dcompiler_shader_reflection_type_destroy(), d3drm_image_palettise(), d3drm_object_cleanup(), d3drm_object_delete_destroy_callback(), D3DXFrameFind(), D3DXLoadMeshFromXInMemory(), D3DXLoadSkinMeshFromXof(), DataCache_CreateEntry(), DataCache_Destroy(), DataCache_DiscardCache(), DataCache_Draw(), DataCache_EnumCache(), DataCache_GetEntryForFormatEtc(), DataCache_GetExtent(), DataCache_IsDirty(), DataCache_Load(), DataCache_OnRun(), DataCache_OnStop(), DataCache_Save(), DataCache_Uncache(), DataCache_UpdateCache(), ddraw7_EnumSurfaces(), ddraw_allocate_handle(), ddraw_free_handle(), ddraw_get_object(), ddraw_surface7_FreePrivateData(), deactivate_remove_conflicting_ts(), deactivate_textservices(), debug_dump_instr_list(), debug_dump_ir_constructor(), declare_prefix(), declare_stub_args(), declare_var(), declare_vars(), decode_readdir_entry(), deleg_fh_cmp(), deleg_file_cmp(), deleg_lock_find(), deleg_lock_update(), deleg_open_find(), deleg_stateid_cmp(), delegation_find(), delegation_remove(), delete_domain(), delete_glsl_program_entry(), delete_registered_ept_entry(), DeleteHashTable(), dequeue_task(), destroy_format(), destroy_script(), detach_inner_window(), detach_ranges(), detach_selection(), NotifyArea::DetermineHideState(), device_assign(), device_free_sampler(), device_leftover_sampler(), device_status(), deviceid_compare(), dict_enum_Next(), dictionary_Items(), dictionary_Keys(), dictionary_RemoveAll(), disable_children(), CMenuFocusManager::DisableMouseTrack(), DllMain(), DnsFlushResolverCacheEntry_A(), do_warning(), does_any_iface(), DoTestEntry(), Pane::draw_item(), draw_item(), dump_alt_name_entry(), dump_function(), dump_function_decl(), dump_TLBRefType(), EMFDRV_CreatePalette(), empty_body_list(), empty_frame_queue(), empty_header_list(), empty_new_prop_list(), empty_param_list(), empty_redo_stack(), end_container(), entry_invis(), SDIMainFrame::entry_selected(), MDIShellBrowserChild::entry_selected(), entry_updatable(), enum_components_Next(), enum_groups_Next(), CEnumRegRoot::EnumerateNext(), CEnumNTDirectory::EnumerateNext(), EnumerateSecurityPackagesW(), EnumTfDocumentMgr_Next(), TaskBar::EnumWndProc(), ept_delete(), ept_insert(), ept_map(), event_add_local(), event_add_source(), event_cleanup_subscriptions(), event_remove(), event_subscribe(), events_OnFileOk(), events_OnFolderChange(), events_OnFolderChanging(), events_OnOverwrite(), events_OnSelectionChange(), events_OnTypeChange(), exec_queued_code(), ext4_xattr_block_fetch(), ext4_xattr_compute_hash(), ext4_xattr_entry_data(), ext4_xattr_inode_fetch(), ext4_xattr_rehash(), ext4_xattr_set_inode_entry(), ext4_xattr_write_to_disk(), ShellDirectory::extract_icons(), fcbopen_main(), FCIDestroy(), feature_cost(), fields_memsize(), file_device_find_or_create(), file_layout_recall_all(), file_layout_recall_file(), file_layout_recall_fsid(), FileChildWindow::FileChildWindow(), FileExists(), fill_delegated_proxy_table(), fill_delegated_stub_table(), fill_in_file_stream_information(), fill_process(), fill_source_list(), fill_stubless_table(), find_action_by_guid(), find_adjacent_face(), find_arg(), find_array_or_string_in_struct(), find_body(), find_cached_table(), find_cookie(), RegDirectory::find_entry(), WinDirectory::find_entry(), ShellDirectory::find_entry(), NtObjDirectory::find_entry(), find_entry(), find_entry_by_id(), find_entry_by_name(), find_entry_default(), find_entry_shell(), find_entry_win(), find_entryW(), find_ept_entry(), find_ffp_frag_shader(), find_file(), find_filepatch(), find_first_entry(), find_first_id_entry(), find_global_prop(), find_hfontitem(), find_http_header(), find_identifier(), find_importinfo(), find_input_signature(), find_installed_monitor(), find_last_loop(), find_local(), find_loop_control_values(), find_name_space(), find_next(), find_prop(), find_proxy_manager(), find_ps_factory(), find_resource_data(), find_resource_dir_entry(), find_resourceA(), find_resourceW(), find_sub_namespace(), find_superblock(), find_window(), FindOrAddString(), fix_incomplete(), fix_incomplete_types(), flush_pending_tasks(), follow_parent(), for_each_iface(), for_each_serializable(), free_assembly(), free_cached_tables(), free_cookie_domain_list(), free_entries(), free_entry(), free_extension(), free_feature(), free_folder(), free_function_decl_rb(), free_function_rb(), free_handle(), free_hlsl_type(), free_http_headers(), free_information_tree(), free_instr_list(), free_list(), free_oid_info(), free_output_buffer(), free_package_structures(), free_parsed_config_file(), free_recorded_instruction(), free_resource_directory(), free_session(), free_sinks(), free_source_list(), free_stack(), Entry::free_subentries(), free_tls_list(), free_transforms(), free_travellog_entry(), free_user_entry(), FreeChangeNotifications(), FreeDictionaryEntry(), FreeUrlCacheSpaceW(), function_invoke(), function_local_cmp(), GdipCreateBitmapFromHBITMAP(), GdipDeleteGraphics(), GdipEnumerateMetafileSrcRectDestPoints(), GdipPlayMetafileRecord(), gen_struct_fields(), gen_stub(), gen_stub_thunk(), generic_handle_registered(), get_active_textservice(), get_apple_string(), get_attrp(), get_attrv(), get_best_icon_file_entry(), get_best_icon_file_offset(), get_block_bh_mdl(), get_block_bh_pin(), get_body(), get_bool_const(), get_cctrl(), get_cctrl_from_dlgid(), get_client_counts(), get_context_handle_offset(), get_cookie(), get_cookie_container(), get_cookie_domain(), get_declared_prefix_uri(), get_default_script_guid(), get_domattr(), get_driver_version_info(), get_fat(), get_first_item(), get_func_flags(), get_func_handle_var(), get_func_obj_entry(), get_func_oi2_flags(), get_function_buffer_size(), get_generic_handle_offset(), get_glsl_program_entry(), get_item(), get_keyitem_pair(), get_loop_control_const(), get_manifest_in_module(), get_mime_filter(), get_nscategory_entry(), get_overloaded_func(), get_padding(), get_param_flags(), get_parameter_by_name(), get_path(), Entry::get_path_base(), get_range_object(), get_reflection_type(), get_resource_sizes(), get_runtime_info(), get_script_host(), get_server(), get_src_param(), get_static_entry(), get_struct_fc(), get_stub_manager(), get_stub_manager_from_ipid(), get_stub_manager_from_object(), get_temp_binary(), get_textservice_clsid(), get_textservice_sink(), get_to_absolute_pidl(), get_ttf_nametable_entry(), get_type(), get_user_full_handle(), get_user_object_handle(), get_volume_space_required(), get_win_string(), GetDictionaryEntry(), CNtObjectFolderExtractIcon::GetIconLocation(), CRegistryFolderExtractIcon::GetIconLocation(), CRegistryFolder::GetInfoFromPidl(), CNtObjectFolder::GetInfoFromPidl(), getInterfaceEntryByIndex(), getInterfaceEntryByName(), getInterfaceStatsByName(), GetPrivateProfileIntA(), GetPrivateProfileIntW(), GetPrivateProfileStringA(), GetPrivateProfileStringW(), GetProfileIntA(), GetProfileIntW(), GetProfileStringA(), GetProfileStringW(), GetTargetInterface(), gid_cmp(), glsl_blitter_args_compare(), glsl_blitter_get_program(), glsl_free_blitter_program(), glsl_program_key_compare(), grab_table(), group_cache_copy(), group_cache_free(), group_cmp(), gxv_EntryTable_validate(), gxv_StateArray_validate(), gxv_XEntryTable_validate(), gxv_XStateArray_validate(), handle_readdir(), handle_upcall(), has_all_extensions_removed(), has_delegated_locks(), has_extensions(), has_one_extension_installed(), has_out_arg_or_return(), hash_mac_addrs(), HashAddString(), HashInsert(), HashLookup(), HashPrint(), HashRemove(), hook_thread_proc(), HTMLAttributeCollection_invoke(), HTMLAttributeCollection_Release(), HTMLDocumentNode_destructor(), HTMLElement_destructor(), HtmlHelpW(), IAssemblyEnumImpl_GetNextAssembly(), IAssemblyEnumImpl_Release(), ICO_ExtractIconExW(), IcoDecoder_GetFrame(), ICreateTypeInfo2_fnAddRefTypeInfo(), id3_link(), IDirectInputDevice2WImpl_GetProperty(), IDirectInputDevice2WImpl_SetProperty(), IDirectMusicCollectionImpl_EnumInstrument(), IDirectMusicCollectionImpl_GetInstrument(), IDirectSoundBufferImpl_Unlock(), idmap_query_attrs(), IDxDiagContainerImpl_EnumChildContainerNames(), IDxDiagContainerImpl_EnumPropNames(), IDxDiagContainerImpl_GetChildContainerInternal(), IDxDiagContainerImpl_GetProp(), IEnumSTATSTGImpl_GetNextRef(), IFileDialog2_fnUnadvise(), IFileDialogCustomize_fnGetSelectedControlItem(), IHlinkBC_fnRelease(), IHlinkBC_SetInitialHlink(), IHlinkBC_UpdateHlink(), ImageUnload(), ImagingFactory_CreateBitmapFromHBITMAP(), IMAPIPROP_GetValue(), IMM_FreeAllImmHkl(), IMM_FreeThreadData(), IMM_GetImmHkl(), IMM_GetThreadData(), import_certs_from_dir(), BookmarkList::import_IE_favorites(), inf_free(), inf_next_section(), inf_section_free(), inf_section_next_value(), init_cache_entry(), init_library(), init_script_cache(), init_stream_header(), init_table_list(), initialise_mbr(), initializer_size(), insert_assembly(), Pane::insert_entries(), insert_entries(), TrayNotifyDlg::InsertItem(), CExplorerBand::InsertSubitems(), ShellBrowser::InsertSubitems(), install_assembly(), InternetSession_UnregisterMimeFilter(), invalidate_handle(), IOAPICDump(), IOAPICSetupIrqs(), IPersistStreamImpl_Load(), IPropData_fnGetPropList(), IPropData_fnHrGetPropAccess(), IPropData_fnRelease(), IRichEditOle_fnGetObject(), IrotEnumRunning(), IrotGetObject(), IrotGetTimeOfLastChange(), IrotIsRunning(), IrotNoteChangeTime(), IrotRegister(), IrotRevoke(), is_attr(), is_full_pointer_function(), is_full_uninstall(), is_interpreted_func(), is_object(), is_registered_patch_media(), is_warning_enabled(), CMenuFocusManager::IsTrackedWindow(), CMenuFocusManager::IsTrackedWindowOrParent(), iterate_all_classes(), iterate_all_extensions(), ITypeInfo_fnAddressOfMember(), ITypeInfo_fnGetRefTypeInfo(), ITypeLib2_fnRelease(), ShellBrowser::jump_to(), FileChildWindow::jump_to_int(), ShellBrowser::jump_to_pidl(), KeystrokeMgr_IsPreservedKey(), KeystrokeMgr_PreserveKey(), KeystrokeMgr_UnpreserveKey(), launch_entry(), layout_coverage_status(), layout_entry_compare(), layout_ordered_insert(), layout_recall_merge(), layout_recall_range(), layout_state_deferred_recalls(), layout_state_find_and_delete(), layout_state_find_or_create(), layout_state_free_layouts(), layout_state_free_recalls(), layout_state_merge(), layout_update_range(), ldap_first_attributeA(), ldap_first_attributeW(), ldap_get_dnA(), ldap_get_dnW(), ldap_get_valuesA(), ldap_get_valuesW(), ldap_next_attributeA(), ldap_next_attributeW(), LdrpAccessResource(), lie_about_fs_type(), lineGetCountryW(), list_add(), list_add_head(), list_add_tail(), list_del(), list_del_init(), list_remove(), list_search(), LISTBOX_Directory(), LL_hook_proc(), load_given_appid(), load_given_class(), load_given_extension(), load_given_mime(), load_given_progid(), load_IFD_entry(), LoadIfdMetadata(), LocalServer_QueryService(), lock_range_cmp(), Lookup(), lookup_entry(), lookup_identifier(), lookup_named_item(), LookupIconIdFromDirectoryEx(), loop_condition(), mac_entry_insert(), main(), make_directory_records(), make_statement_typedef(), map_attrs(), marshal_nfs41_close(), marshal_nfs41_dirquery(), marshal_nfs41_eaget(), marshal_nfs41_easet(), marshal_nfs41_filequery(), marshal_nfs41_fileset(), marshal_nfs41_getacl(), marshal_nfs41_header(), marshal_nfs41_lock(), marshal_nfs41_mount(), marshal_nfs41_open(), marshal_nfs41_rw(), marshal_nfs41_setacl(), marshal_nfs41_shutdown(), marshal_nfs41_symlink(), marshal_nfs41_unlock(), marshal_nfs41_unmount(), marshal_nfs41_volume(), ME_ApplyStyle(), ME_CommitCoalescingUndo(), ME_CommitUndo(), ME_ContinueCoalescingTransaction(), ME_DestroyEditor(), ME_EmptyUndoStack(), ME_Redo(), ME_Undo(), merge_free_rows(), merge_table(), MimeBody_DeleteProp(), MimeBody_GetParameters(), MimeBody_SetProp(), MimeInternat_FindCharset(), MimeInternat_GetCharsetInfo(), MimeInternat_Release(), MmAllocSwapPage(), MMDevEnum_UnregisterEndpointNotificationCallback(), MmPageOutPhysicalAddress(), MmpPageOutPhysicalAddress(), move_attr(), move_files_wildcard(), MSFT_CustData(), MSFT_ReadAllGuids(), MSFT_ReadAllRefs(), MSFT_ReadGuid(), MSFT_ReadName(), MSFT_ReadString(), msi_add_cabinet_stream(), msi_check_publish(), msi_check_unpublish(), MSI_CommitTables(), msi_dialog_destroy(), msi_dialog_find_control(), msi_dialog_find_control_by_hwnd(), msi_dialog_find_control_by_type(), msi_dialog_find_font(), msi_dialog_set_tab_order(), msi_dialog_update_all_controls(), msi_dialog_update_controls(), msi_event_cleanup_all_subscriptions(), msi_event_fire(), msi_get_cabinet_stream(), msi_get_loaded_component(), msi_get_loaded_feature(), msi_get_loaded_file(), msi_get_loaded_folder(), MSI_GetFeatureCost(), msi_package_add_info(), msi_package_add_media_disk(), msi_publish_patches(), msi_publish_sourcelist(), msi_reset_folders(), msi_resolve_target_folder(), msi_seltree_add_child_features(), MSI_SetFeatureStates(), MSI_SetFeatureStateW(), MSI_SetTargetPathW(), msi_table_apply_transform(), msi_vcl_get_cost(), MsiDatabaseMergeW(), MsiSourceListAddSourceExW(), MUIClearPage(), MUIDisplayErrorV(), MUIDisplayPage(), MUIGetString(), mxwriter_get_output(), name_cache_entry_accessed(), name_cache_entry_changed(), name_cache_entry_create(), name_cache_entry_invalidate(), name_cache_entry_rename(), name_cache_entry_update(), name_cache_entry_updated(), name_cache_insert(), name_cache_remove(), name_cache_search(), name_cache_unlink(), name_cache_unlink_children_recursive(), namespacemanager_getDeclaredPrefix(), namespacemanager_getURI(), navigate_history(), NBNameCacheAddEntry(), new_directory_record(), CEnumRegKey::NextKey(), CEnumRegKey::NextValue(), nfs41_abs_path_compare(), nfs41_attr_cache_lookup(), nfs41_attr_cache_update(), nfs41_client_delegation_free(), nfs41_client_delegation_recovery(), nfs41_client_delegation_return_lru(), nfs41_CloseSrvOpen(), nfs41_Create(), nfs41_CreateVNetRoot(), nfs41_GetReparsePoint(), nfs41_Lock(), nfs41_mount(), nfs41_QueryDirectory(), nfs41_QueryEaInformation(), nfs41_QueryFileInformation(), nfs41_QuerySecurityInformation(), nfs41_QueryVolumeInformation(), nfs41_Read(), nfs41_recover_client_state(), nfs41_server_find_or_create(), nfs41_SetEaInformation(), nfs41_SetFileInformation(), nfs41_SetReparsePoint(), nfs41_SetSecurityInformation(), nfs41_shutdown_daemon(), nfs41_superblock_list_free(), nfs41_Unlock(), nfs41_unmount(), nfs41_upcall(), nfs41_UpcallCreate(), nfs41_UpcallWaitForReply(), nfs41_Write(), nfs_decode_compound(), nfs_encode_compound(), FindProgramDlg::Notify(), NotifyArea::Notify(), notify_clients(), nsChannelBSC_beginning_transaction(), nswindow_to_window(), NtUserValidateHandleSecure(), OLEFontImpl_Release(), ShellBrowser::OnDefaultCommand(), ShellBrowser::OnTreeGetDispInfo(), ShellBrowser::OnTreeItemExpanding(), ShellBrowser::OnTreeItemRClick(), ShellBrowser::OnTreeItemSelected(), open_connection(), open_dde_url(), open_deleg_cmp(), open_state_free(), open_stream(), open_unlock_delegate(), open_unlock_remove(), OutputQueue_FreeSamples(), OutputQueueImpl_ThreadProc(), Pane::Pane(), param_rb_compare(), parse_hlsl(), parse_supported_runtime(), pass(), patch_add_media(), patch_offset_list_free(), patch_update_file_sequence(), patch_update_filepatch_sequence(), pattern_threads_init(), PdhCloseQuery(), PdhCollectQueryDataWithTime(), PeekHistory(), PHEventSink_Invoke(), pnfs_file_device_list_free(), pnfs_file_device_list_invalidate(), pnfs_file_device_notify(), pnfs_layout_list_free(), pnfs_layout_recall_status(), pnfs_layout_state_prepare(), pnfs_rpc_layoutget(), pool_alloc(), pool_destroy(), pop_control_frame(), pop_element(), pop_task(), populate_ea_list(), principal_cmp(), print_wait_status(), procaddr(), process_colcache(), process_directory(), process_dochost_tasks(), process_palette(), process_response_headers(), process_state_property(), process_tfs_iface(), process_timer(), CMenuFocusManager::ProcessMouseDown(), CMenuFocusManager::ProcessMouseMove(), CMenuFocusManager::ProcessMouseUp(), NotifyArea::ProcessTrayNotification(), PropertyBag_Release(), PropertyStore_GetAt(), PropertyStore_GetCount(), PropertyStore_LookupValue(), PropertyStore_Release(), proxy_free_variables(), proxy_manager_destroy(), proxy_manager_disconnect(), proxy_manager_find_ifproxy(), Proxy_MarshalInterface(), QueryCygwinSymlink(), queue_add_timer(), queue_get_timeout(), queue_timer(), queue_timer_expire(), queueoutchar(), radiobuttonlist_on_bn_clicked(), radiobuttonlist_set_selected_item(), RasGetLinkStatistics(), RasSetCustomAuthDataA(), RasSetCustomAuthDataW(), RegDirectory::read_directory(), WinDirectory::read_directory(), RegistryRoot::read_directory(), ShellDirectory::read_directory(), NtObjDirectory::read_directory(), read_directory(), Entry::read_directory_base(), read_directory_shell(), read_directory_win(), read_prop(), Entry::read_tree(), read_tree_shell(), read_tree_win(), ReadChmSystem(), readdir_add_dots(), readdir_copy_both_dir_info(), readdir_copy_dir_info(), readdir_copy_entry(), readdir_copy_full_dir_info(), reader_clear_attrs(), reader_clear_elements(), reader_clear_ns(), reader_get_element(), reader_lookup_ns(), reader_lookup_nsdef(), reader_mark_ns_nodes(), reader_move_to_first_attribute(), reader_parse_endtag(), reader_pop_element(), reader_pop_ns_nodes(), recover_locks(), TaskBar::Refresh(), NotifyArea::Refresh(), TrayNotifyDlg::Refresh(), refresh_child(), TrayNotifyDlg::RefreshProperties(), reg_typedefs(), release_script(), release_script_hosts(), release_shader_resources(), release_signature(), release_std_git(), release_typelib(), ReleaseComponentInfos(), remove_attribute(), remove_folder(), remove_persistent_folder(), remove_target_tasks(), replacetextwithname(), reset_cabinet(), reset_program_constant_version(), resource_dup_string(), retrieve_cached_authorization(), retrieve_cached_basic_authorization(), revoke_registered_psclsids(), root_client_find(), root_client_find_addrs(), root_free(), rpc_cancel_thread(), RPC_RegisterChannelHook(), RPC_RegisterInterface(), RPC_UnregisterAllChannelHooks(), RPC_UnregisterInterface(), RpcAssoc_Release(), RpcMgmtWaitServerListen(), RPCRT4_destroy_all_protseqs(), RPCRT4_find_interface(), RPCRT4_get_or_create_serverprotseq(), RPCRT4_GetAssociation(), RPCRT4_ServerFreeAllRegisteredAuthInfo(), RPCRT4_ServerGetRegisteredAuthInfo(), RPCRT4_start_listen(), RPCRT4_stop_listen(), RpcServerAssoc_FindContextHandle(), RpcServerAssoc_GetAssociation(), RpcServerInqBindings(), RpcServerUnregisterIf(), RtlDeleteTimerQueueEx(), run_insert_script(), RunningObjectTableImpl_Destroy(), RunningObjectTableImpl_GetObject(), RunningObjectTableImpl_GetTimeOfLastChange(), RunningObjectTableImpl_IsRunning(), RunningObjectTableImpl_NoteChangeTime(), RunningObjectTableImpl_Release(), RunningObjectTableImpl_Revoke(), RuntimeHost_AddDomain(), RuntimeHost_DeleteDomain(), RuntimeHost_Destroy(), runtimehost_uninit(), sampler(), save_dib(), save_emf(), save_mfpict(), save_persistent_cookie(), save_view_cache(), FileChildWindow::scan_entry(), scan_entry(), schan_EnumerateSecurityPackagesW(), schedule_install_files(), ScriptFreeCache(), SdbpAddStringToTable(), SdbpTableDestroy(), search_manifest_in_module(), SECUR32_findPackageW(), SECUR32_freeProviders(), ShellBrowser::select_entry(), ShellBrowser::select_folder(), server_compare(), session_destroy(), FileChildWindow::set_curdir(), set_curdir(), set_glsl_compute_shader_program(), set_glsl_shader_program(), set_lib_flags(), set_target_path(), set_textservice_sink(), FileTypeManager::set_type(), set_var_types(), setEntryLink(), TrayNotifyDlg::SetIconMode(), shader_arb_handle_instruction(), shader_arb_load_constants_f(), shader_cleanup_reg_maps(), shader_constant_is_local(), shader_delete_constant_list(), shader_generate_arb_declarations(), shader_generate_glsl_declarations(), shader_glsl_compile_compute_shader(), shader_glsl_destroy(), shader_glsl_find_ffp_fragment_shader(), shader_glsl_find_ffp_vertex_shader(), shader_glsl_free_ffp_fragment_shader(), shader_glsl_free_ffp_vertex_shader(), shader_glsl_load_constants_f(), shader_glsl_load_constants_i(), shader_glsl_load_constantsB(), shader_glsl_loop(), shader_glsl_rep(), shader_hw_else(), shader_hw_endif(), shader_hw_endloop(), shader_hw_endrep(), shader_hw_ifc(), shader_hw_loop(), shader_hw_rep(), shader_record_sample(), shader_sm4_free(), SHChangeNotify(), SHChangeNotifyDeregister(), should_enumerate_device(), show_frame(), show_properties_dlg(), sig_tree_compare(), SLTG_DoRefs(), SLTG_ReadName(), sltg_write_header(), snapshot_GetData(), snapshot_GetDataHere(), SnmpUtilVarBindListFree(), Entry::sort_directory(), SortDirectory(), source_find(), source_rb_compare(), SQLGetPrivateProfileString(), SQLGetPrivateProfileStringW(), SQLWritePrivateProfileString(), stack_find(), stack_peek(), stack_pop(), start_address_thread(), START_TEST(), state_cleanup(), stateblock_init_lights(), stateid_array(), StdGlobalInterfaceTable_FindEntry(), StdGlobalInterfaceTable_GetInterfaceFromGlobal(), StdGlobalInterfaceTable_RegisterInterfaceInGlobal(), StdGlobalInterfaceTable_RevokeInterfaceFromGlobal(), StorageBaseImpl_DeleteStorageTree(), string_buffer_get(), string_buffer_list_cleanup(), StringHashTableFree(), StringListAppend(), struct_var_initializer(), stub_manager_delete(), stub_manager_disconnect(), stub_manager_find_ifstub(), stub_manager_ipid_to_ifstub(), superblock_compare(), SYSLINK_ClearDoc(), SYSLINK_Draw(), SYSLINK_GetFocusLink(), SYSLINK_GetLinkItemByIndex(), SYSLINK_GetNextLink(), SYSLINK_GetPrevLink(), SYSLINK_HitTest(), SYSLINK_LinkAtPt(), SYSLINK_Render(), SYSLINK_SetFocusLink(), TABLE_find_matching_rows(), TableFindPtr(), taskdialog_clear_controls(), tdiGetMibForIfEntity(), tdiGetMibForIpEntity(), test_AddMonitor(), test_CompareStringA(), test_decodeCRLDistPoints(), test_decodeCRLIssuingDistPoint(), test_decodeCRLToBeSigned(), test_default_properties(), test_DeleteMonitor(), test_encodeAltName(), test_encodeAuthorityKeyId2(), test_encodeCRLDistPoints(), test_encodeCRLIssuingDistPoint(), test_encodeCRLToBeSigned(), test_enumerate(), test_get_attributes(), test_get_dataType(), test_get_nodeTypeString(), test_GetAcceptLanguagesA(), test_GetDIBits(), test_GetProductInfo(), test_handles_process(), test_HashLinks(), test_installOIDFunctionAddress(), test_namespaces_as_attributes(), test_nodeTypedValue(), test_saxreader_encoding(), test_saxreader_features(), test_slist(), test_SummaryInfo(), test_thread_start_address(), test_tiff_palette(), testFindCertInCRL(), testFindCRL(), testQuery(), thread_count(), ThreadFocusHookProc(), ThreadMgr_AssociateFocus(), ThreadMgr_Destructor(), ThreadMgr_OnDocumentMgrDestruction(), TLB_append_guid(), TLB_append_str(), TLB_copy_all_custdata(), TLB_FreeCustData(), TLB_get_custdata_by_guid(), TLB_ReadTypeLib(), TransactedSnapshotImpl_Commit(), TransactedSnapshotImpl_CopyTree(), TransactedSnapshotImpl_CreateStubEntry(), TransactedSnapshotImpl_DestroyTemporaryCopy(), TransactedSnapshotImpl_EnsureReadEntry(), TransactedSnapshotImpl_FindFirstChild(), TransactedSnapshotImpl_MadeCopy(), TransactedSnapshotImpl_MakeStreamDirty(), tt_face_free_name(), tt_face_load_font_dir(), tt_face_load_loca(), tt_face_load_name(), tt_face_lookup_table(), tt_name_ascii_from_other(), tt_name_ascii_from_utf16(), TWAIN_ProcessEvent(), type_buffer_alignment(), type_has_full_pointer(), type_has_pointers(), type_new_function(), type_union_get_cases(), type_union_get_switch_value(), ui_create_colourmap(), ui_draw_text(), uid_cmp(), uninitialize_directinput_instance(), uninstall_assembly(), union_memsize(), unregister_namespace(), update_ini_callback(), update_open_dropdown(), NotifyArea::UpdateIcons(), urlcache_entry_alloc(), urlcache_entry_commit(), urlcache_entry_free(), urlcache_next_entry(), user_cache_copy(), user_cache_free(), user_type_offset(), user_type_registered(), UserAllocHandle(), UserDereferenceObject(), UserFreeHandle(), UserGetObject(), UserGetObjectNoErr(), UserMarkObjectDestroy(), username_cmp(), UserObjectInDestroy(), vbnamespacemanager_popContext(), vbnamespacemanager_Release(), verify_cert_revocation_with_crl_offline(), verify_cert_revocation_with_crl_online(), vfatDelFCBFromTable(), vfatGrabFCBFromTable(), viewport_activate(), visit_http_headers(), warning_disable(), warning_enable(), wine_rb_flip_color(), wine_rb_get(), wine_rb_is_red(), wine_rb_put(), wine_rb_remove(), wine_rb_remove_key(), wined3d_colour_from_ddraw_colour(), wined3d_ffp_frag_program_key_compare(), wined3d_ffp_vertex_program_key_compare(), wined3d_palette_get_entries(), wined3d_palette_set_entries(), wined3d_private_store_cleanup(), wined3d_private_store_free_private_data(), wined3d_private_store_get_private_data(), wined3d_register_window(), wined3d_sampler_compare(), wined3d_state_get_light(), wined3d_state_record_lights(), wined3d_texture_cleanup(), wined3d_texture_set_compatible_renderbuffer(), wined3d_texture_unload(), wined3d_unregister_window(), wined3d_wndproc(), WLDAP32_ldap_next_entry(), WLDAP32_ldap_next_reference(), WMSFT_compile_custdata(), WMSFT_compile_guids(), WMSFT_compile_impfile(), WMSFT_compile_impinfo(), WMSFT_compile_names(), WMSFT_compile_strings(), QuickLaunchBar::WndProc(), FileChildWindow::WndProc(), NotifyArea::WndProc(), StartMenu::WndProc(), WNetEnumCachedPasswords(), write_args(), write_client_call_routine(), write_client_ifaces(), write_coclasses(), write_conf_or_var_desc(), write_context_handle_rundowns(), write_cpp_method_def(), write_data_blocks(), write_descriptors(), write_endpoints(), write_enums(), write_expr_eval_routine_list(), write_expr_eval_routines(), write_fields(), write_files(), write_fixed_array_pointer_descriptions(), write_folders(), write_forward_decls(), write_func_param_struct(), write_function_stub(), write_function_stubs(), write_generic_handle_routine_list(), write_generic_handle_routines(), write_header_stmts(), write_id_data_stmts(), write_imports(), write_inline_wrappers(), write_interfaces(), write_local_stubs_stmts(), write_method_macro(), write_msi_summary_info(), write_no_repeat_pointer_descriptions(), write_output_buffer(), write_parameters_init(), write_pointer_checks(), write_pointer_description_offsets(), write_proc_func_header(), write_procformatstring_func(), write_progids(), write_proxy_stmts(), write_range_tfs(), write_registry_values(), write_remoting_arg(), write_remoting_arguments(), write_resources(), write_rundown_routines(), write_server_stmts(), write_struct_members(), write_struct_tfs(), write_typelib_interfaces(), write_typelib_regscript(), write_union_tfs(), write_user_quad_list(), write_user_types(), write_varying_array_pointer_descriptions(), WritePrivateProfileStringA(), WritePrivateProfileStringW(), WriteProfileStringA(), WriteProfileStringW(), writestdout(), WSHIoctl_GetInterfaceList(), xmlDictGrow(), xmlDictLookup(), xmlDictQLookup(), xmlHashAddEntry3(), xmlHashDefaultDeallocator(), xmlHashLookup3(), xmlHashQLookup3(), xmlHashRemoveEntry3(), xmlHashUpdateEntry3(), xmlreader_MoveToAttributeByName(), xmlreader_MoveToElement(), xmlreader_MoveToNextAttribute(), xmlwriter_Release(), xslprocessor_addParameter(), xslprocessor_Release(), yyparse(), ZSTD_ldm_insertEntry(), and ZSTD_ldm_makeEntryAndInsertByTag().

◆ hd0

uint8_t hd0 = 0

Definition at line 68 of file isohybrid.c.

Referenced by check_option(), and initialise_mbr().

◆ head

uint32_t head = 64

Definition at line 60 of file isohybrid.c.

Referenced by check_option(), initialise_mbr(), and main().

◆ id

uint32_t id = 0

Definition at line 66 of file isohybrid.c.

◆ isosize

uint32_t isosize = 0

Definition at line 77 of file isohybrid.c.

Referenced by main().

◆ isostat

struct stat isostat

Definition at line 49 of file isohybrid.c.

Referenced by main().

◆ mac_count

uint16_t mac_count = 0

Definition at line 84 of file isohybrid.c.

Referenced by initialise_mbr(), and main().

◆ mac_lba

uint32_t mac_lba = 0

Definition at line 83 of file isohybrid.c.

Referenced by initialise_mbr(), and main().

◆ mbr_template_path

char mbr_template_path[1024] = {0}

Definition at line 71 of file isohybrid.c.

Referenced by check_option(), and initialise_mbr().

◆ mode

Definition at line 56 of file isohybrid.c.

◆ offset

Definition at line 64 of file isohybrid.c.

Referenced by initialise_mbr().

◆ opterr

int opterr

Definition at line 46 of file getopt.c.

Referenced by check_option().

◆ optind

int optind

Definition at line 47 of file getopt.c.

Referenced by check_option().

◆ padding

◆ partok

uint8_t partok = 0

Definition at line 69 of file isohybrid.c.

Referenced by check_option(), and initialise_mbr().

◆ prog

◆ psize

uint32_t psize = 0

Definition at line 77 of file isohybrid.c.

Referenced by initialise_mbr(), and main().

◆ sector

◆ type

uint32_t type = 0x17

Definition at line 65 of file isohybrid.c.

Referenced by initialise_mbr().

◆ ve

uint16_t ve[16]

Definition at line 73 of file isohybrid.c.

Referenced by check_catalogue(), and main().