qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Richard Henderson <richard.henderson@linaro.org>
To: qemu-devel@nongnu.org
Cc: quintela@redhat.com, peterx@redhat.com, farosas@suse.de,
	leobras@redhat.com
Subject: [PATCH 21/71] hw/acpi: Constify VMState
Date: Sun,  5 Nov 2023 22:57:37 -0800	[thread overview]
Message-ID: <20231106065827.543129-22-richard.henderson@linaro.org> (raw)
In-Reply-To: <20231106065827.543129-1-richard.henderson@linaro.org>

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
---
 hw/acpi/cpu.c                  |  4 ++--
 hw/acpi/erst.c                 |  2 +-
 hw/acpi/generic_event_device.c | 12 ++++++------
 hw/acpi/ich9.c                 | 12 ++++++------
 hw/acpi/ich9_tco.c             |  2 +-
 hw/acpi/memory_hotplug.c       |  4 ++--
 hw/acpi/pcihp.c                |  2 +-
 hw/acpi/piix4.c                | 12 ++++++------
 hw/acpi/vmgenid.c              |  2 +-
 9 files changed, 26 insertions(+), 26 deletions(-)

diff --git a/hw/acpi/cpu.c b/hw/acpi/cpu.c
index 011d2c6c2d..2d81c1e790 100644
--- a/hw/acpi/cpu.c
+++ b/hw/acpi/cpu.c
@@ -297,7 +297,7 @@ static const VMStateDescription vmstate_cpuhp_sts = {
     .name = "CPU hotplug device state",
     .version_id = 1,
     .minimum_version_id = 1,
-    .fields      = (VMStateField[]) {
+    .fields = (const VMStateField[]) {
         VMSTATE_BOOL(is_inserting, AcpiCpuStatus),
         VMSTATE_BOOL(is_removing, AcpiCpuStatus),
         VMSTATE_UINT32(ost_event, AcpiCpuStatus),
@@ -310,7 +310,7 @@ const VMStateDescription vmstate_cpu_hotplug = {
     .name = "CPU hotplug state",
     .version_id = 1,
     .minimum_version_id = 1,
-    .fields      = (VMStateField[]) {
+    .fields = (const VMStateField[]) {
         VMSTATE_UINT32(selector, CPUHotplugState),
         VMSTATE_UINT8(command, CPUHotplugState),
         VMSTATE_STRUCT_VARRAY_POINTER_UINT32(devs, CPUHotplugState, dev_count,
diff --git a/hw/acpi/erst.c b/hw/acpi/erst.c
index 35007d8017..71b477f490 100644
--- a/hw/acpi/erst.c
+++ b/hw/acpi/erst.c
@@ -932,7 +932,7 @@ static const VMStateDescription erst_vmstate  = {
     .version_id = 1,
     .minimum_version_id = 1,
     .post_load = erst_post_load,
-    .fields = (VMStateField[]) {
+    .fields = (const VMStateField[]) {
         VMSTATE_UINT8(operation, ERSTDeviceState),
         VMSTATE_UINT8(busy_status, ERSTDeviceState),
         VMSTATE_UINT8(command_status, ERSTDeviceState),
diff --git a/hw/acpi/generic_event_device.c b/hw/acpi/generic_event_device.c
index a3d31631fe..2d6e91b124 100644
--- a/hw/acpi/generic_event_device.c
+++ b/hw/acpi/generic_event_device.c
@@ -312,7 +312,7 @@ static const VMStateDescription vmstate_memhp_state = {
     .name = "acpi-ged/memhp",
     .version_id = 1,
     .minimum_version_id = 1,
-    .fields      = (VMStateField[]) {
+    .fields = (const VMStateField[]) {
         VMSTATE_MEMORY_HOTPLUG(memhp_state, AcpiGedState),
         VMSTATE_END_OF_LIST()
     }
@@ -322,7 +322,7 @@ static const VMStateDescription vmstate_ged_state = {
     .name = "acpi-ged-state",
     .version_id = 1,
     .minimum_version_id = 1,
-    .fields      = (VMStateField[]) {
+    .fields = (const VMStateField[]) {
         VMSTATE_UINT32(sel, GEDState),
         VMSTATE_END_OF_LIST()
     }
@@ -332,7 +332,7 @@ static const VMStateDescription vmstate_ghes = {
     .name = "acpi-ghes",
     .version_id = 1,
     .minimum_version_id = 1,
-    .fields     = (VMStateField[]) {
+    .fields = (const VMStateField[]) {
         VMSTATE_UINT64(ghes_addr_le, AcpiGhesState),
         VMSTATE_END_OF_LIST()
     },
@@ -349,7 +349,7 @@ static const VMStateDescription vmstate_ghes_state = {
     .version_id = 1,
     .minimum_version_id = 1,
     .needed = ghes_needed,
-    .fields      = (VMStateField[]) {
+    .fields = (const VMStateField[]) {
         VMSTATE_STRUCT(ghes_state, AcpiGedState, 1,
                        vmstate_ghes, AcpiGhesState),
         VMSTATE_END_OF_LIST()
@@ -360,11 +360,11 @@ static const VMStateDescription vmstate_acpi_ged = {
     .name = "acpi-ged",
     .version_id = 1,
     .minimum_version_id = 1,
-    .fields = (VMStateField[]) {
+    .fields = (const VMStateField[]) {
         VMSTATE_STRUCT(ged_state, AcpiGedState, 1, vmstate_ged_state, GEDState),
         VMSTATE_END_OF_LIST(),
     },
-    .subsections = (const VMStateDescription * []) {
+    .subsections = (const VMStateDescription * const []) {
         &vmstate_memhp_state,
         &vmstate_ghes_state,
         NULL
diff --git a/hw/acpi/ich9.c b/hw/acpi/ich9.c
index 25e2c7243e..573d032e8e 100644
--- a/hw/acpi/ich9.c
+++ b/hw/acpi/ich9.c
@@ -164,7 +164,7 @@ static const VMStateDescription vmstate_memhp_state = {
     .version_id = 1,
     .minimum_version_id = 1,
     .needed = vmstate_test_use_memhp,
-    .fields      = (VMStateField[]) {
+    .fields = (const VMStateField[]) {
         VMSTATE_MEMORY_HOTPLUG(acpi_memory_hotplug, ICH9LPCPMRegs),
         VMSTATE_END_OF_LIST()
     }
@@ -181,7 +181,7 @@ static const VMStateDescription vmstate_tco_io_state = {
     .version_id = 1,
     .minimum_version_id = 1,
     .needed = vmstate_test_use_tco,
-    .fields      = (VMStateField[]) {
+    .fields = (const VMStateField[]) {
         VMSTATE_STRUCT(tco_regs, ICH9LPCPMRegs, 1, vmstate_tco_io_sts,
                        TCOIORegs),
         VMSTATE_END_OF_LIST()
@@ -208,7 +208,7 @@ static const VMStateDescription vmstate_cpuhp_state = {
     .minimum_version_id = 1,
     .needed = vmstate_test_use_cpuhp,
     .pre_load = vmstate_cpuhp_pre_load,
-    .fields      = (VMStateField[]) {
+    .fields = (const VMStateField[]) {
         VMSTATE_CPU_HOTPLUG(cpuhp_state, ICH9LPCPMRegs),
         VMSTATE_END_OF_LIST()
     }
@@ -226,7 +226,7 @@ static const VMStateDescription vmstate_pcihp_state = {
     .version_id = 1,
     .minimum_version_id = 1,
     .needed = vmstate_test_use_pcihp,
-    .fields      = (VMStateField[]) {
+    .fields = (const VMStateField[]) {
         VMSTATE_PCI_HOTPLUG(acpi_pci_hotplug,
                             ICH9LPCPMRegs,
                             NULL, NULL),
@@ -239,7 +239,7 @@ const VMStateDescription vmstate_ich9_pm = {
     .version_id = 1,
     .minimum_version_id = 1,
     .post_load = ich9_pm_post_load,
-    .fields = (VMStateField[]) {
+    .fields = (const VMStateField[]) {
         VMSTATE_UINT16(acpi_regs.pm1.evt.sts, ICH9LPCPMRegs),
         VMSTATE_UINT16(acpi_regs.pm1.evt.en, ICH9LPCPMRegs),
         VMSTATE_UINT16(acpi_regs.pm1.cnt.cnt, ICH9LPCPMRegs),
@@ -251,7 +251,7 @@ const VMStateDescription vmstate_ich9_pm = {
         VMSTATE_UINT32(smi_sts, ICH9LPCPMRegs),
         VMSTATE_END_OF_LIST()
     },
-    .subsections = (const VMStateDescription*[]) {
+    .subsections = (const VMStateDescription * const []) {
         &vmstate_memhp_state,
         &vmstate_tco_io_state,
         &vmstate_cpuhp_state,
diff --git a/hw/acpi/ich9_tco.c b/hw/acpi/ich9_tco.c
index 1540f4fd46..81606219f7 100644
--- a/hw/acpi/ich9_tco.c
+++ b/hw/acpi/ich9_tco.c
@@ -254,7 +254,7 @@ const VMStateDescription vmstate_tco_io_sts = {
     .name = "tco io device status",
     .version_id = 1,
     .minimum_version_id = 1,
-    .fields      = (VMStateField[]) {
+    .fields = (const VMStateField[]) {
         VMSTATE_UINT16(tco.rld, TCOIORegs),
         VMSTATE_UINT8(tco.din, TCOIORegs),
         VMSTATE_UINT8(tco.dout, TCOIORegs),
diff --git a/hw/acpi/memory_hotplug.c b/hw/acpi/memory_hotplug.c
index 0b883df813..de6f974ebb 100644
--- a/hw/acpi/memory_hotplug.c
+++ b/hw/acpi/memory_hotplug.c
@@ -317,7 +317,7 @@ static const VMStateDescription vmstate_memhp_sts = {
     .name = "memory hotplug device state",
     .version_id = 1,
     .minimum_version_id = 1,
-    .fields      = (VMStateField[]) {
+    .fields = (const VMStateField[]) {
         VMSTATE_BOOL(is_enabled, MemStatus),
         VMSTATE_BOOL(is_inserting, MemStatus),
         VMSTATE_UINT32(ost_event, MemStatus),
@@ -330,7 +330,7 @@ const VMStateDescription vmstate_memory_hotplug = {
     .name = "memory hotplug state",
     .version_id = 1,
     .minimum_version_id = 1,
-    .fields      = (VMStateField[]) {
+    .fields = (const VMStateField[]) {
         VMSTATE_UINT32(selector, MemHotplugState),
         VMSTATE_STRUCT_VARRAY_POINTER_UINT32(devs, MemHotplugState, dev_count,
                                              vmstate_memhp_sts, MemStatus),
diff --git a/hw/acpi/pcihp.c b/hw/acpi/pcihp.c
index 4f75c873e2..5f79c9016b 100644
--- a/hw/acpi/pcihp.c
+++ b/hw/acpi/pcihp.c
@@ -517,7 +517,7 @@ const VMStateDescription vmstate_acpi_pcihp_pci_status = {
     .name = "acpi_pcihp_pci_status",
     .version_id = 1,
     .minimum_version_id = 1,
-    .fields = (VMStateField[]) {
+    .fields = (const VMStateField[]) {
         VMSTATE_UINT32(up, AcpiPciHpPciStatus),
         VMSTATE_UINT32(down, AcpiPciHpPciStatus),
         VMSTATE_END_OF_LIST()
diff --git a/hw/acpi/piix4.c b/hw/acpi/piix4.c
index dd523d2e4c..debe1adb84 100644
--- a/hw/acpi/piix4.c
+++ b/hw/acpi/piix4.c
@@ -147,7 +147,7 @@ static const VMStateDescription vmstate_gpe = {
     .name = "gpe",
     .version_id = 1,
     .minimum_version_id = 1,
-    .fields = (VMStateField[]) {
+    .fields = (const VMStateField[]) {
         VMSTATE_GPE_ARRAY(sts, ACPIGPE),
         VMSTATE_GPE_ARRAY(en, ACPIGPE),
         VMSTATE_END_OF_LIST()
@@ -158,7 +158,7 @@ static const VMStateDescription vmstate_pci_status = {
     .name = "pci_status",
     .version_id = 1,
     .minimum_version_id = 1,
-    .fields = (VMStateField[]) {
+    .fields = (const VMStateField[]) {
         VMSTATE_UINT32(up, struct AcpiPciHpPciStatus),
         VMSTATE_UINT32(down, struct AcpiPciHpPciStatus),
         VMSTATE_END_OF_LIST()
@@ -189,7 +189,7 @@ static const VMStateDescription vmstate_memhp_state = {
     .version_id = 1,
     .minimum_version_id = 1,
     .needed = vmstate_test_use_memhp,
-    .fields      = (VMStateField[]) {
+    .fields = (const VMStateField[]) {
         VMSTATE_MEMORY_HOTPLUG(acpi_memory_hotplug, PIIX4PMState),
         VMSTATE_END_OF_LIST()
     }
@@ -214,7 +214,7 @@ static const VMStateDescription vmstate_cpuhp_state = {
     .minimum_version_id = 1,
     .needed = vmstate_test_use_cpuhp,
     .pre_load = vmstate_cpuhp_pre_load,
-    .fields      = (VMStateField[]) {
+    .fields = (const VMStateField[]) {
         VMSTATE_CPU_HOTPLUG(cpuhp_state, PIIX4PMState),
         VMSTATE_END_OF_LIST()
     }
@@ -247,7 +247,7 @@ static const VMStateDescription vmstate_acpi = {
     .version_id = 3,
     .minimum_version_id = 3,
     .post_load = vmstate_acpi_post_load,
-    .fields = (VMStateField[]) {
+    .fields = (const VMStateField[]) {
         VMSTATE_PCI_DEVICE(parent_obj, PIIX4PMState),
         VMSTATE_UINT16(ar.pm1.evt.sts, PIIX4PMState),
         VMSTATE_UINT16(ar.pm1.evt.en, PIIX4PMState),
@@ -269,7 +269,7 @@ static const VMStateDescription vmstate_acpi = {
                             vmstate_test_migrate_acpi_index),
         VMSTATE_END_OF_LIST()
     },
-    .subsections = (const VMStateDescription*[]) {
+    .subsections = (const VMStateDescription * const []) {
          &vmstate_memhp_state,
          &vmstate_cpuhp_state,
          NULL
diff --git a/hw/acpi/vmgenid.c b/hw/acpi/vmgenid.c
index a39315c1b3..e63c8af4c3 100644
--- a/hw/acpi/vmgenid.c
+++ b/hw/acpi/vmgenid.c
@@ -178,7 +178,7 @@ static const VMStateDescription vmstate_vmgenid = {
     .version_id = 1,
     .minimum_version_id = 1,
     .post_load = vmgenid_post_load,
-    .fields = (VMStateField[]) {
+    .fields = (const VMStateField[]) {
         VMSTATE_UINT8_ARRAY(vmgenid_addr_le, VmGenIdState, sizeof(uint64_t)),
         VMSTATE_END_OF_LIST()
     },
-- 
2.34.1



  parent reply	other threads:[~2023-11-06  7:13 UTC|newest]

Thread overview: 102+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-11-06  6:57 [PATCH 00/71] *: Constify VMState Richard Henderson
2023-11-06  6:57 ` [PATCH 01/71] migration: Make VMStateDescription.subsections const Richard Henderson
2023-11-06 11:17   ` Juan Quintela
2023-11-06 11:48   ` Philippe Mathieu-Daudé
2023-11-06  6:57 ` [PATCH 02/71] target/arm: Constify VMState in machine.c Richard Henderson
2023-11-06 11:54   ` Philippe Mathieu-Daudé
2023-11-06  6:57 ` [PATCH 03/71] targt/arm: Constify hvf/hvf.c Richard Henderson
2023-11-06 11:54   ` Philippe Mathieu-Daudé
2023-11-08 10:15     ` Philippe Mathieu-Daudé
2023-11-06  6:57 ` [PATCH 04/71] target/alpha: Constify VMState in machine.c Richard Henderson
2023-11-06  6:57 ` [PATCH 05/71] target/avr: " Richard Henderson
2023-11-06 11:53   ` Philippe Mathieu-Daudé
2023-11-06  6:57 ` [PATCH 06/71] target/cris: " Richard Henderson
2023-11-08 10:12   ` Philippe Mathieu-Daudé
2023-11-06  6:57 ` [PATCH 07/71] target/hppa: " Richard Henderson
2023-11-08 10:13   ` Philippe Mathieu-Daudé
2023-11-06  6:57 ` [PATCH 08/71] target/i386: " Richard Henderson
2023-11-06  6:57 ` [PATCH 09/71] target/loongarch: " Richard Henderson
2023-11-06  6:57 ` [PATCH 10/71] target/m68k: " Richard Henderson
2023-11-06  6:57 ` [PATCH 11/71] target/microblaze: " Richard Henderson
2023-11-06  6:57 ` [PATCH 12/71] target/mips: " Richard Henderson
2023-11-06 11:49   ` Philippe Mathieu-Daudé
2023-11-06  6:57 ` [PATCH 13/71] target/openrisc: " Richard Henderson
2023-11-06  6:57 ` [PATCH 14/71] target/ppc: " Richard Henderson
2023-11-06  6:57 ` [PATCH 15/71] target/riscv: " Richard Henderson
2023-11-06  9:28   ` Alistair Francis
2023-11-06  6:57 ` [PATCH 16/71] target/s390x: " Richard Henderson
2023-11-06  6:57 ` [PATCH 17/71] target/sparc: " Richard Henderson
2023-11-06 22:05   ` Mark Cave-Ayland
2023-11-06  6:57 ` [PATCH 18/71] hw/arm: Constify VMState Richard Henderson
2023-11-06 11:53   ` Philippe Mathieu-Daudé
2023-11-06  6:57 ` [PATCH 19/71] hw/core: " Richard Henderson
2023-11-06 11:49   ` Philippe Mathieu-Daudé
2023-11-06  6:57 ` [PATCH 20/71] hw/9pfs: " Richard Henderson
2023-11-06  7:53   ` Greg Kurz
2023-11-06 11:44   ` Christian Schoenebeck
2023-11-06  6:57 ` Richard Henderson [this message]
2023-11-06  6:57 ` [PATCH 22/71] hw/adc: " Richard Henderson
2023-11-08 10:13   ` Philippe Mathieu-Daudé
2023-11-06  6:57 ` [PATCH 23/71] hw/audio: " Richard Henderson
2023-11-06  6:57 ` [PATCH 24/71] hw/block: " Richard Henderson
2023-11-06  6:57 ` [PATCH 25/71] hw/char: " Richard Henderson
2023-11-06  6:57 ` [PATCH 26/71] hw/display: " Richard Henderson
2023-11-06  6:57 ` [PATCH 27/71] hw/dma: " Richard Henderson
2023-11-06  6:57 ` [PATCH 28/71] hw/gpio: " Richard Henderson
2023-11-06  6:57 ` [PATCH 29/71] hw/hyperv: " Richard Henderson
2023-11-06  6:57 ` [PATCH 30/71] hw/i2c: " Richard Henderson
2023-11-06  6:57 ` [PATCH 31/71] hw/i386: " Richard Henderson
2023-11-06  6:57 ` [PATCH 32/71] hw/ide: " Richard Henderson
2023-11-06  6:57 ` [PATCH 33/71] hw/input: " Richard Henderson
2023-11-06  6:57 ` [PATCH 34/71] hw/intc: " Richard Henderson
2023-11-06  6:57 ` [PATCH 35/71] hw/ipack: " Richard Henderson
2023-11-06  6:57 ` [PATCH 36/71] hw/ipmi: " Richard Henderson
2023-11-06  6:57 ` [PATCH 37/71] hw/isa: " Richard Henderson
2023-11-08 10:14   ` Philippe Mathieu-Daudé
2023-11-06  6:57 ` [PATCH 38/71] hw/loongarch: " Richard Henderson
2023-11-06  6:57 ` [PATCH 39/71] hw/m68k: " Richard Henderson
2023-11-06  6:57 ` [PATCH 40/71] hw/misc: " Richard Henderson
2023-11-06  6:57 ` [PATCH 41/71] hw/net: " Richard Henderson
2023-11-06  6:57 ` [PATCH 42/71] hw/nvram: " Richard Henderson
2023-11-06  6:57 ` [PATCH 43/71] hw/openrisc: " Richard Henderson
2023-11-06  6:58 ` [PATCH 44/71] hw/pci: " Richard Henderson
2023-11-06  6:58 ` [PATCH 45/71] hw/pci-bridge: " Richard Henderson
2023-11-06  6:58 ` [PATCH 46/71] hw/pci-host: " Richard Henderson
2023-11-06 11:52   ` Philippe Mathieu-Daudé
2023-11-06  6:58 ` [PATCH 47/71] hw/ppc: " Richard Henderson
2023-11-06  6:58 ` [PATCH 48/71] hw/riscv: " Richard Henderson
2023-11-06  9:26   ` Alistair Francis
2023-11-06  6:58 ` [PATCH 49/71] hw/rtc: " Richard Henderson
2023-11-08 10:14   ` Philippe Mathieu-Daudé
2023-11-06  6:58 ` [PATCH 50/71] hw/s390x: " Richard Henderson
2023-11-06  6:58 ` [PATCH 51/71] hw/scsi: " Richard Henderson
2023-11-06  6:58 ` [PATCH 52/71] hw/sd: " Richard Henderson
2023-11-06 11:50   ` Philippe Mathieu-Daudé
2023-11-06  6:58 ` [PATCH 53/71] hw/sensor: " Richard Henderson
2023-11-06 11:55   ` Philippe Mathieu-Daudé
2023-11-06 16:08     ` Richard Henderson
2023-11-06  6:58 ` [PATCH 54/71] hw/sparc: " Richard Henderson
2023-11-06  6:58 ` [PATCH 55/71] hw/ssi: " Richard Henderson
2023-11-06  6:58 ` [PATCH 56/71] hw/timer: " Richard Henderson
2023-11-06  6:58 ` [PATCH 57/71] hw/tpm: " Richard Henderson
2023-11-06  6:58 ` [PATCH 58/71] hw/usb: " Richard Henderson
2023-11-06  6:58 ` [PATCH 59/71] hw/vfio: " Richard Henderson
2023-11-06  6:58 ` [PATCH 60/71] hw/virtio: " Richard Henderson
2023-11-06  6:58 ` [PATCH 61/71] hw/watchdog: " Richard Henderson
2023-11-06  6:58 ` [PATCH 62/71] hw/misc/macio: " Richard Henderson
2023-11-06  6:58 ` [PATCH 63/71] audio: " Richard Henderson
2023-11-06  6:58 ` [PATCH 64/71] backends: " Richard Henderson
2023-11-06  6:58 ` [PATCH 65/71] cpu-target: " Richard Henderson
2023-11-08 10:16   ` Philippe Mathieu-Daudé
2023-11-06  6:58 ` [PATCH 66/71] migration: " Richard Henderson
2023-11-06 11:18   ` Juan Quintela
2023-11-06  6:58 ` [PATCH 67/71] system: " Richard Henderson
2023-11-06 11:51   ` Philippe Mathieu-Daudé
2023-11-06  6:58 ` [PATCH 68/71] replay: " Richard Henderson
2023-11-06  6:58 ` [PATCH 69/71] util/fifo8: " Richard Henderson
2023-11-08 10:16   ` Philippe Mathieu-Daudé
2023-11-06  6:58 ` [PATCH 70/71] tests/unit/test-vmstate: " Richard Henderson
2023-11-06 11:24   ` Juan Quintela
2023-11-06  6:58 ` [PATCH 71/71] docs: Constify VMstate in examples Richard Henderson
2023-11-06 11:24   ` Juan Quintela
2023-11-06 11:51   ` Philippe Mathieu-Daudé

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20231106065827.543129-22-richard.henderson@linaro.org \
    --to=richard.henderson@linaro.org \
    --cc=farosas@suse.de \
    --cc=leobras@redhat.com \
    --cc=peterx@redhat.com \
    --cc=qemu-devel@nongnu.org \
    --cc=quintela@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).