1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
// Copyright (c) 2023 Nick Piaddo
// SPDX-License-Identifier: Apache-2.0 OR MIT
//! ## Description
//!
//! The `rsfdisk` library is a safe Rust wrapper around `util-linux/libfdisk`.
//!
//! Like `libfdisk`, `rsfdisk` is a library for the creation and manipulation of partition tables
//! on block devices. It understands `GPT`, `MBR`, `Sun`, `SGI`, and `BSD` partition tables. It
//! provides the tools necessary for dividing block devices into *partitions*, also known as logical
//! disks. All metadata about partitions are recorded in a *partition table*, usually written on
//! the first sector of a device.
//!
//! ```ignore
//! use rsfdisk::fdisk::Fdisk;
//! use rsfdisk::partition_table::PartitionTableKind;
//! use rsfdisk::partition::Code;
//! use rsfdisk::partition::DOSFlag;
//! use rsfdisk::partition::Partition;
//! use rsfdisk::partition::PartitionKind;
//!
//! fn main() -> rsfdisk::Result<()> {
//! // Creating a 16GiB Linux partition on /dev/vda
//! let mut partitioner = Fdisk::builder()
//! // Operate on `/dev/vda`.
//! .assign_device("/dev/vda")
//! // Allow Fdisk to persist changes to disk.
//! .enable_read_write()
//! // Remove all existing partition tables, file systems, and RAID signatures on the
//! // assigned device before writing a new partition table.
//! .wipe_device_metadata()
//! .build()?;
//!
//! // Create a `DOS` partition table.
//! partitioner.partition_table_create(PartitionTableKind::DOS)?;
//!
//! // Configure a 16GiB Linux partition
//! let partition_type = PartitionKind::builder()
//! // Set the partition type identifier for an MBR partition table.
//! .code(Code::Linux)
//! .build()?;
//!
//! let partition = Partition::builder()
//! .partition_type(partition_type)
//! .name("System")
//! .starting_sector(64)
//! //Assuming 512 bytes per sector, 33,554,432 sectors <=> 16GiB.
//! .size_in_sectors(33_554_432)
//! .build()?;
//!
//! // Create the partition at the first entry available in the partition table.
//! let partition_number = partitioner.partition_add(partition)?;
//!
//! // Make it bootable.
//! partitioner.partition_table_toggle_partition_flag(partition_number, DOSFlag::Boot.into())?;
//!
//! // Write the new partition table on `/dev/vda`.
//! partitioner.partition_table_write_to_disk()?;
//!
//! Ok(())
//! }
//! ```
//! ## API structure
//!
//! `rsfdisk`'s API is roughly divided into the following major modules:
//! - [`fdisk`]: the main library module holding the [`Fdisk`](crate::fdisk::Fdisk) struct to create/edit/modify partition
//! tables,
//! - [`partition_table`]: for working with partition tables.
//! - [`partition`]: for working with partitions in a partition table.
//!
//! Finally, look to the [`debug`] module if you need diagnostics during development.
//!
//! ## From `libfdisk` to `rsfdisk`
//!
//! This section maps `libfdisk` functions to `rsfdisk` methods. It follows the same layout as
//! `libfdisk`’s documentation. You can use it as a reference to ease the transition from one API
//! to the other.
//!
//! ### Basic handlers and setting
//! #### Context
//! | `libfdisk` | `rsfdisk` |
//! | ------------------ | --------- |
//! | [`struct fdisk_context`][1] | [`Fdisk`](crate::fdisk::Fdisk) |
//! | [`fdisk_assign_device`][2] | [`FdiskBuilder::assign_device`](crate::fdisk::FdiskBuilder::assign_device) |
//! | [`fdisk_assign_device_by_fd`][3] | [`FdiskBuilder::assign_device_by_file`](crate::fdisk::FdiskBuilder::assign_device_by_file) |
//! | [`fdisk_deassign_device`][4] | [`Fdisk::close_device`](crate::fdisk::Fdisk::close_device)<br>[`Fdisk::close_device_async`](crate::fdisk::Fdisk::close_device_async) |
//! | [`fdisk_reassign_device`][5] | [`Fdisk::discard_changes`](crate::fdisk::Fdisk::discard_changes) |
//! | [`fdisk_device_is_used`][6] | [`Fdisk::device_is_in_use`](crate::fdisk::Fdisk::device_is_in_use) |
//! | [`fdisk_enable_bootbits_protection`][7] | [`FdiskBuilder::erase_master_boot_record`](crate::fdisk::FdiskBuilder::erase_master_boot_record) |
//! | [`fdisk_enable_details`][8] | [`FdiskBuilder::display_partition_details`](crate::fdisk::FdiskBuilder::display_partition_details) |
//! | [`fdisk_enable_listonly`][9] | [`FdiskBuilder::display_partition_list_only`](crate::fdisk::FdiskBuilder::display_partition_list_only) |
//! | [`fdisk_enable_wipe`][10] | [`FdiskBuilder::wipe_device_metadata`](crate::fdisk::FdiskBuilder::wipe_device_metadata) |
//! | [`fdisk_disable_dialogs`][11] | [`FdiskBuilder::enable_interactive`](crate::fdisk::FdiskBuilder::enable_interactive) |
//! | [`fdisk_get_alignment_offset`][12] | [`Fdisk::device_alignment_offset`](crate::fdisk::Fdisk::device_alignment_offset) |
//! | [`fdisk_get_collision`][13] | [`Fdisk::device_describe_collisions`](crate::fdisk::Fdisk::device_describe_collisions) |
//! | [`fdisk_get_devfd`][14] | [`Fdisk::device_borrow_fd`](crate::fdisk::Fdisk::device_borrow_fd) |
//! | [`fdisk_get_devmodel`][15] | [`Fdisk::device_model`](crate::fdisk::Fdisk::device_model) |
//! | [`fdisk_get_devname`][16] | [`Fdisk::device_name`](crate::fdisk::Fdisk::device_name) |
//! | [`fdisk_get_devno`][17] | [`Fdisk::device_number`](crate::fdisk::Fdisk::device_number) |
//! | [`fdisk_get_disklabel_item`][18] | [`Fdisk::partition_table_header_entry`](crate::fdisk::Fdisk::partition_table_header_entry) |
//! | [`fdisk_get_first_lba`][19] | [`Fdisk::device_first_lba`](crate::fdisk::Fdisk::device_first_lba) |
//! | [`fdisk_get_geom_cylinders`][20] | [`Fdisk::device_count_cylinders`](crate::fdisk::Fdisk::device_count_cylinders) |
//! | [`fdisk_get_geom_heads`][21] | [`Fdisk::device_count_heads`](crate::fdisk::Fdisk::device_count_heads) |
//! | [`fdisk_get_geom_sectors`][22] | [`Fdisk::device_count_sectors`](crate::fdisk::Fdisk::device_count_sectors) |
//! | [`fdisk_get_grain_size`][23] | [`Fdisk::device_grain_size`](crate::fdisk::Fdisk::device_grain_size) |
//! | [`fdisk_get_last_lba`][24] | [`Fdisk::device_last_lba`](crate::fdisk::Fdisk::device_last_lba) |
//! | [`fdisk_get_minimal_iosize`][25] | [`Fdisk::device_minimum_io_size`](crate::fdisk::Fdisk::device_minimum_io_size) |
//! | [`fdisk_get_nsectors`][26] | [`Fdisk::device_size_in_sectors`](crate::fdisk::Fdisk::device_size_in_sectors) |
//! | [`fdisk_get_optimal_iosize`][27] | [`Fdisk::device_optimal_io_size`](crate::fdisk::Fdisk::device_optimal_io_size) |
//! | [`fdisk_get_parent`][28] | [`Fdisk::parent_partitioner`](crate::fdisk::Fdisk::parent_partitioner) |
//! | [`fdisk_get_physector_size`][29] | [`Fdisk::device_bytes_per_physical_sector`](crate::fdisk::Fdisk::device_bytes_per_physical_sector) |
//! | [`fdisk_get_sector_size`][30] | [`Fdisk::device_bytes_per_logical_sector`](crate::fdisk::Fdisk::device_bytes_per_logical_sector) |
//! | [`fdisk_get_size_unit`][31] | [`Fdisk::partition_size_format`](crate::fdisk::Fdisk::partition_size_format) |
//! | [`fdisk_get_unit`][32] | [`Fdisk::displayed_unit_singular`](crate::fdisk::Fdisk::displayed_unit_singular)<br>[`Fdisk::displayed_unit_plural`](crate::fdisk::Fdisk::displayed_unit_plural) |
//! | [`fdisk_get_units_per_sector`][33] | [`Fdisk::sectors_per_cylinder`](crate::fdisk::Fdisk::sectors_per_cylinder) |
//! | [`fdisk_has_dialogs`][34] | [`Fdisk::is_partitioning_interactive`](crate::fdisk::Fdisk::is_partitioning_interactive) |
//! | [`fdisk_has_label`][35] | [`Fdisk::device_has_partition_table`](crate::fdisk::Fdisk::device_has_partition_table) |
//! | [`fdisk_has_protected_bootbits`][36] | [`Fdisk::protects_master_boot_record`](crate::fdisk::Fdisk::protects_master_boot_record) |
//! | [`fdisk_has_wipe`][37] | [`Fdisk::wipes_device_metadata`](crate::fdisk::Fdisk::wipes_device_metadata) |
//! | [`fdisk_is_details`][38] | [`Fdisk::displays_partition_details`](crate::fdisk::Fdisk::displays_partition_details) |
//! | [`fdisk_is_labeltype`][39] | [`Fdisk::partition_table_is_of_type`](crate::fdisk::Fdisk::partition_table_is_of_type) |
//! | [`fdisk_is_listonly`][40] | [`Fdisk::displays_partition_list_only`](crate::fdisk::Fdisk::displays_partition_list_only) |
//! | [`fdisk_is_ptcollision`][41] | [`Fdisk::device_has_collisions`](crate::fdisk::Fdisk::device_has_collisions) |
//! | [`fdisk_is_readonly`][42] | [`Fdisk::device_is_read_only`](crate::fdisk::Fdisk::device_is_read_only) |
//! | [`fdisk_is_regfile`][43] | [`Fdisk::device_is_image_file`](crate::fdisk::Fdisk::device_is_image_file) |
//! | [`fdisk_new_context`][44] | [`Fdisk::builder`](crate::fdisk::Fdisk::builder) |
//! | [`fdisk_new_nested_context`][45] | [`Fdisk::create_nested_partitioner`](crate::fdisk::Fdisk::create_nested_partitioner)<br>[`Fdisk::create_nested_partitioner_with_name`](crate::fdisk::Fdisk::create_nested_partitioner_with_name) |
//! | [`fdisk_ref_context`][46] | Managed automatically. |
//! | [`fdisk_reread_changes`][47] | [`Fdisk::reread_changed_partition_entries`](crate::fdisk::Fdisk::reread_changed_partition_entries) |
//! | [`fdisk_reread_partition_table`][48] | [`Fdisk::reread_partition_entries`](crate::fdisk::Fdisk::reread_partition_entries) |
//! | [`fdisk_set_first_lba`][49] | [`Fdisk::device_set_first_lba`](crate::fdisk::Fdisk::device_set_first_lba) |
//! | [`fdisk_set_last_lba`][50] | [`Fdisk::device_set_last_lba`](crate::fdisk::Fdisk::device_set_last_lba) |
//! | [`fdisk_set_size_unit`][51] | [`FdiskBuilder::partition_size_format`](crate::fdisk::FdiskBuilder::partition_size_format) |
//! | [`fdisk_set_unit`][52] | [`FdiskBuilder::device_addressing`](crate::fdisk::FdiskBuilder::device_addressing) |
//! | [`fdisk_unref_context`][53] | [`Fdisk`](crate::fdisk::Fdisk) is automatically deallocated when it goes out of scope. |
//! | [`fdisk_use_cylinders`][54] | [`Fdisk::displays_metadata_in_cylinders`](crate::fdisk::Fdisk::displays_metadata_in_cylinders) |
//!
//! [1]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Context.html#fdisk-context
//! [2]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Context.html#fdisk-assign-device
//! [3]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Context.html#fdisk-assign-device-by-fd
//! [4]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Context.html#fdisk-deassign-device
//! [5]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Context.html#fdisk-reassign-device
//! [6]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Context.html#fdisk-device-is-used
//! [7]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Context.html#fdisk-enable-bootbits-protection
//! [8]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Context.html#fdisk-enable-details
//! [9]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Context.html#fdisk-enable-listonly
//! [10]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Context.html#fdisk-enable-wipe
//! [11]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Context.html#fdisk-disable-dialogs
//! [12]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Context.html#fdisk-get-alignment-offset
//! [13]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Context.html#fdisk-get-collision
//! [14]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Context.html#fdisk-get-devfd
//! [15]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Context.html#fdisk-get-devmodel
//! [16]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Context.html#fdisk-get-devname
//! [17]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Context.html#fdisk-get-devno
//! [18]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Context.html#fdisk-get-disklabel-item
//! [19]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Context.html#fdisk-get-first-lba
//! [20]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Context.html#fdisk-get-geom-cylinders
//! [21]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Context.html#fdisk-get-geom-heads
//! [22]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Context.html#fdisk-get-geom-sectors
//! [23]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Context.html#fdisk-get-grain-size
//! [24]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Context.html#fdisk-get-last-lba
//! [25]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Context.html#fdisk-get-minimal-iosize
//! [26]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Context.html#fdisk-get-nsectors
//! [27]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Context.html#fdisk-get-optimal-iosize
//! [28]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Context.html#fdisk-get-parent
//! [29]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Context.html#fdisk-get-physector-size
//! [30]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Context.html#fdisk-get-sector-size
//! [31]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Context.html#fdisk-get-size-unit
//! [32]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Context.html#fdisk-get-unit
//! [33]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Context.html#fdisk-get-units-per-sector
//! [34]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Context.html#fdisk-has-dialogs
//! [35]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Context.html#fdisk-has-label
//! [36]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Context.html#fdisk-has-protected-bootbits
//! [37]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Context.html#fdisk-has-wipe
//! [38]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Context.html#fdisk-is-details
//! [39]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Context.html#fdisk-is-labeltype
//! [40]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Context.html#fdisk-is-listonly
//! [41]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Context.html#fdisk-is-ptcollision
//! [42]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Context.html#fdisk-is-readonly
//! [43]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Context.html#fdisk-is-regfile
//! [44]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Context.html#fdisk-new-context
//! [45]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Context.html#fdisk-new-nested-context
//! [46]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Context.html#fdisk-ref-context
//! [47]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Context.html#fdisk-reread-changes
//! [48]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Context.html#fdisk-reread-partition-table
//! [49]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Context.html#fdisk-set-first-lba
//! [50]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Context.html#fdisk-set-last-lba
//! [51]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Context.html#fdisk-set-size-unit
//! [52]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Context.html#fdisk-set-unit
//! [53]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Context.html#fdisk-unref-context
//! [54]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Context.html#fdisk-use-cylinders
//!
//! #### Ask
//!
//! | `libfdisk` | `rsfdisk` |
//! | ------------------ | --------- |
//! | [`struct fdisk_ask`][55] | [`Prompt`](crate::core::prompt::Prompt) |
//! | [`enum fdisk_asktype`][56] | [`PromptKind`](crate::core::prompt::PromptKind) |
//! | [`fdisk_info`][57] | [`Fdisk::log_info`](crate::fdisk::Fdisk::log_info) |
//! | [`fdisk_warn`][58] | [`Fdisk::log_warn_set_errno`](crate::fdisk::Fdisk::log_warn_set_errno) |
//! | [`fdisk_warnx`][59] | [`Fdisk::log_warn`](crate::fdisk::Fdisk::log_warn) |
//! | [`fdisk_set_ask`][60] | TBD |
//! | [`fdisk_is_ask`][61] | [`Prompt::is_of_kind`](crate::core::prompt::Prompt::is_of_kind) |
//! | [`fdisk_ask_get_query`][62] | [`Prompt::query`](crate::core::prompt::Prompt::query) |
//! | [`fdisk_ask_get_type`][63] | [`Prompt::kind`](crate::core::prompt::Prompt::kind) |
//! | [`fdisk_ask_menu_get_default`][64] | [`Prompt::menu_default_key`](crate::core::prompt::Prompt::menu_default_key) |
//! | [`fdisk_ask_menu_get_item`][65] | [`Prompt::menu_nth_item`](crate::core::prompt::Prompt::menu_nth_item) |
//! | [`fdisk_ask_menu_get_nitems`][66] | [`Prompt::menu_count_items`](crate::core::prompt::Prompt::menu_count_items) |
//! | [`fdisk_ask_menu_get_result`][67] | [`Prompt::menu_selected_item`](crate::core::prompt::Prompt::menu_selected_item) |
//! | [`fdisk_ask_menu_set_result`][68] | [`Prompt::menu_item_select`](crate::core::prompt::Prompt::menu_item_select) |
//! | [`fdisk_ask_number`][69] | [`Fdisk::ask_number_in_range`](crate::fdisk::Fdisk::ask_number_in_range) |
//! | [`fdisk_ask_number_get_core`][70] | [`Prompt::number_reference_point`](crate::core::prompt::Prompt::number_reference_point) |
//! | [`fdisk_ask_number_get_default`][71] | [`Prompt::number_default`](crate::core::prompt::Prompt::number_default) |
//! | [`fdisk_ask_number_get_high`][72] | [`Prompt::number_upper_bound`](crate::core::prompt::Prompt::number_upper_bound) |
//! | [`fdisk_ask_number_get_low`][73] | [`Prompt::number_lower_bound`](crate::core::prompt::Prompt::number_lower_bound) |
//! | [`fdisk_ask_number_get_range`][74] | [`Prompt::number_range`](crate::core::prompt::Prompt::number_range) |
//! | [`fdisk_ask_number_get_result`][75] | [`Prompt::number_answer`](crate::core::prompt::Prompt::number_answer) |
//! | [`fdisk_ask_number_get_unit`][76] | [`Prompt::number_bytes_per_unit`](crate::core::prompt::Prompt::number_bytes_per_unit) |
//! | [`fdisk_ask_number_inchars`][77] | [`Prompt::requires_lettered_partitions`](crate::core::prompt::Prompt::requires_lettered_partitions) |
//! | [`fdisk_ask_number_is_wrap_negative`][78] | [`Prompt::accepts_negative_numbers`](crate::core::prompt::Prompt::accepts_negative_numbers) |
//! | [`fdisk_ask_number_set_relative`][79] | [`Prompt::number_enable_relative`](crate::core::prompt::Prompt::number_enable_relative)<br>[`Prompt::number_disable_relative`](crate::core::prompt::Prompt::number_disable_relative) |
//! | [`fdisk_ask_number_set_result`][80] | [`Prompt::number_set_answer`](crate::core::prompt::Prompt::number_set_answer) |
//! | [`fdisk_ask_partnum`][81] | [`Fdisk::ask_partition_number_used`](crate::fdisk::Fdisk::ask_partition_number_used)<br>[`Fdisk::ask_partition_number_unused`](crate::fdisk::Fdisk::ask_partition_number_unused) |
//! | [`fdisk_ask_print_get_errno`][82] | [`Prompt::error_number`](crate::core::prompt::Prompt::error_number) |
//! | [`fdisk_ask_print_get_mesg`][83] | [`Prompt::error_message`](crate::core::prompt::Prompt::error_message) |
//! | [`fdisk_ask_string`][84] | [`Fdisk::ask_string_value`](crate::fdisk::Fdisk::ask_string_value) |
//! | [`fdisk_ask_string_get_result`][85] | [`Prompt::string_answer`](crate::core::prompt::Prompt::string_answer) |
//! | [`fdisk_ask_string_set_result`][86] | [`Prompt::string_set_answer`](crate::core::prompt::Prompt::string_set_answer) |
//! | [`fdisk_ask_yesno`][87] | [`Fdisk::ask_yes_no_question`](crate::fdisk::Fdisk::ask_yes_no_question) |
//! | [`fdisk_ask_yesno_get_result`][88] | [`Prompt::yes_no_answer`](crate::core::prompt::Prompt::yes_no_answer) |
//! | [`fdisk_ask_yesno_set_result`][89] | [`Prompt::yes_no_set_answer`](crate::core::prompt::Prompt::yes_no_set_answer) |
//! | [`fdisk_ref_ask`][90] | Managed automatically. |
//! | [`fdisk_unref_ask`][91] | [`Prompt`](crate::core::prompt::Prompt) is automatically deallocated when it goes out of scope. |
//!
//! [55]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Ask.html#fdisk-ask
//! [56]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Ask.html#fdisk-asktype
//! [57]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Ask.html#fdisk-info
//! [58]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Ask.html#fdisk-warn
//! [59]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Ask.html#fdisk-warnx
//! [60]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Ask.html#fdisk-set-ask
//! [61]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Ask.html#fdisk-is-ask
//! [62]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Ask.html#fdisk-ask-get-query
//! [63]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Ask.html#fdisk-ask-get-type
//! [64]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Ask.html#fdisk-ask-menu-get-default
//! [65]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Ask.html#fdisk-ask-menu-get-item
//! [66]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Ask.html#fdisk-ask-menu-get-nitems
//! [67]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Ask.html#fdisk-ask-menu-get-result
//! [68]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Ask.html#fdisk-ask-menu-set-result
//! [69]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Ask.html#fdisk-ask-number
//! [70]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Ask.html#fdisk-ask-number-get-base
//! [71]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Ask.html#fdisk-ask-number-get-default
//! [72]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Ask.html#fdisk-ask-number-get-high
//! [73]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Ask.html#fdisk-ask-number-get-low
//! [74]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Ask.html#fdisk-ask-number-get-range
//! [75]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Ask.html#fdisk-ask-number-get-result
//! [76]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Ask.html#fdisk-ask-number-get-unit
//! [77]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Ask.html#fdisk-ask-number-inchars
//! [78]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Ask.html#fdisk-ask-number-is-wrap-negative
//! [79]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Ask.html#fdisk-ask-number-set-relative
//! [80]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Ask.html#fdisk-ask-number-set-result
//! [81]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Ask.html#fdisk-ask-partnum
//! [82]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Ask.html#fdisk-ask-print-get-errno
//! [83]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Ask.html#fdisk-ask-print-get-mesg
//! [84]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Ask.html#fdisk-ask-string
//! [85]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Ask.html#fdisk-ask-string-get-result
//! [86]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Ask.html#fdisk-ask-string-set-result
//! [87]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Ask.html#fdisk-ask-yesno
//! [88]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Ask.html#fdisk-ask-yesno-get-result
//! [89]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Ask.html#fdisk-ask-yesno-set-result
//! [90]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Ask.html#fdisk-ref-ask
//! [91]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Ask.html#fdisk-unref-ask
//!
//! #### Alignment
//!
//! | `libfdisk` | `rsfdisk` |
//! | ------------------ | --------- |
//! | [`typedef fdisk_sector_t`][92] | [`u64`] |
//! | [`fdisk_align_lba`][93] | [`Fdisk::align_lba_up`](crate::fdisk::Fdisk::align_lba_up) <br> [`Fdisk::align_lba_down`](crate::fdisk::Fdisk::align_lba_down)<br>[`Fdisk::align_lba_nearest`](crate::fdisk::Fdisk::align_lba_nearest) |
//! | [`fdisk_align_lba_in_range`][94] | [`Fdisk::align_lba_in_range`](crate::fdisk::Fdisk::align_lba_in_range) |
//! | [`fdisk_has_user_device_properties`][95] | [`Fdisk::has_overriden_device_properties`](crate::fdisk::Fdisk::has_overriden_device_properties) |
//! | [`fdisk_lba_is_phy_aligned`][96] | [`Fdisk::is_lba_physically_aligned`](crate::fdisk::Fdisk::is_lba_physically_aligned) |
//! | [`fdisk_override_geometry`][97] | [`Fdisk::override_device_geometry`](crate::fdisk::Fdisk::override_device_geometry) |
//! | [`fdisk_reset_alignment`][98] | [`Fdisk::restore_default_lba_alignment`](crate::fdisk::Fdisk::restore_default_lba_alignment) |
//! | [`fdisk_reset_device_properties`][99] | [`Fdisk::restore_device_properties`](crate::fdisk::Fdisk::restore_device_properties) |
//! | [`fdisk_save_user_geometry`][100] | [`FdiskBuilder::device_geometry`](crate::fdisk::FdiskBuilder::device_geometry) |
//! | [`fdisk_save_user_grain`][101] | [`FdiskBuilder::device_grain_size`](crate::fdisk::FdiskBuilder::device_grain_size) |
//! | [`fdisk_save_user_sector_size`][102] | [`FdiskBuilder::device_sector_sizes`](crate::fdisk::FdiskBuilder::device_sector_sizes) |
//!
//! [92]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Alignment.html#fdisk-sector-t
//! [93]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Alignment.html#fdisk-align-lba
//! [94]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Alignment.html#fdisk-align-lba-in-range
//! [95]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Alignment.html#fdisk-has-user-device-properties
//! [96]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Alignment.html#fdisk-lba-is-phy-aligned
//! [97]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Alignment.html#fdisk-override-geometry
//! [98]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Alignment.html#fdisk-reset-alignment
//! [99]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Alignment.html#fdisk-reset-device-properties
//! [100]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Alignment.html#fdisk-save-user-geometry
//! [101]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Alignment.html#fdisk-save-user-grain
//! [102]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Alignment.html#fdisk-save-user-sector-size
//!
//! #### Script
//!
//! | `libfdisk` | `rsfdisk` |
//! | ------------------ | --------- |
//! | [`struct fdisk_script`][103] | [`Script`](crate::core::script::Script) |
//! | [`fdisk_set_script`][104] | [`Fdisk::script_dissociate`](crate::fdisk::Fdisk::script_dissociate) |
//! | [`fdisk_get_script`][105] | [`Fdisk::script`](crate::fdisk::Fdisk::script) <br> [`Fdisk::script_mut`](crate::fdisk::Fdisk::script_mut) |
//! | [`fdisk_apply_script`][106] | [`Fdisk::script_apply`](crate::fdisk::Fdisk::script_apply) |
//! | [`fdisk_apply_script_headers`][107] | [`Fdisk::script_apply_headers`](crate::fdisk::Fdisk::script_apply_headers) |
//! | [`fdisk_new_script`][108] | [`Fdisk::script_new`](crate::fdisk::Fdisk::script_new) |
//! | [`fdisk_new_script_from_file`][109] | [`Fdisk::script_new_from_file`](crate::fdisk::Fdisk::script_new_from_file) |
//! | [`fdisk_ref_script`][110] | Managed automatically. |
//! | [`fdisk_script_enable_json`][111] | [`Script::enable_json_output`](crate::core::script::Script::enable_json_output)<br>[`Script::disable_json_output`](crate::core::script::Script::disable_json_output) |
//! | [`fdisk_script_get_header`][112] | [`Script::header_value`](crate::core::script::Script::header_value) |
//! | [`fdisk_script_get_nlines`][113] | [`Script::count_lines`](crate::core::script::Script::count_lines) |
//! | [`fdisk_script_set_table`][114] | [`Script::override_partition_table`](crate::core::script::Script::override_partition_table) |
//! | [`fdisk_script_get_table`][115] | [`Script::partition_table_entries`](crate::core::script::Script::partition_table_entries) |
//! | [`fdisk_script_has_force_label`][116] | [`Script::has_header_label`](crate::core::script::Script::has_header_label) |
//! | [`fdisk_script_read_context`][117] | [`Script::compose_script`](crate::core::script::Script::compose_script) |
//! | [`fdisk_script_read_file`][118] | [`Script::import_file`](crate::core::script::Script::import_file)<br>[`Script::import_stream`](crate::core::script::Script::import_stream) |
//! | [`fdisk_script_read_line`][119] | [`Script::read_line`](crate::core::script::Script::read_line) |
//! | [`fdisk_script_set_header`][120] | [`Script::add_header`](crate::core::script::Script::add_header) |
//! | [`fdisk_script_set_fgets`][121] | [`Script::set_custom_read_line`](crate::core::script::Script::set_custom_read_line) |
//! | [`fdisk_script_write_file`][122] | [`Script::export_to_file`](crate::core::script::Script::export_to_file)<br>[`Script::export_to_stream`](crate::core::script::Script::export_to_stream) |
//! | [`fdisk_script_set_userdata`][123] | Managed internally. |
//! | [`fdisk_script_get_userdata`][124] | Managed internally. |
//! | [`fdisk_unref_script`][125] | [`Script`](crate::core::script::Script) is automatically deallocated when it goes out of scope. |
//!
//! [103]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Script.html#fdisk-script
//! [104]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Script.html#fdisk-set-script
//! [105]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Script.html#fdisk-get-script
//! [106]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Script.html#fdisk-apply-script
//! [107]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Script.html#fdisk-apply-script-headers
//! [108]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Script.html#fdisk-new-script
//! [109]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Script.html#fdisk-new-script-from-file
//! [110]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Script.html#fdisk-ref-script
//! [111]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Script.html#fdisk-script-enable-json
//! [112]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Script.html#fdisk-script-get-header
//! [113]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Script.html#fdisk-script-get-nlines
//! [114]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Script.html#fdisk-script-set-table
//! [115]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Script.html#fdisk-script-get-table
//! [116]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Script.html#fdisk-script-has-force-label
//! [117]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Script.html#fdisk-script-read-context
//! [118]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Script.html#fdisk-script-read-file
//! [119]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Script.html#fdisk-script-read-line
//! [120]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Script.html#fdisk-script-set-header
//! [121]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Script.html#fdisk-script-set-fgets
//! [122]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Script.html#fdisk-script-write-file
//! [123]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Script.html#fdisk-script-set-userdata
//! [124]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Script.html#fdisk-script-get-userdata
//! [125]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Script.html#fdisk-unref-script
//!
//! ### Partitioning
//! #### Label
//!
//! | `libfdisk` | `rsfdisk` |
//! | ------------------ | --------- |
//! | [`struct fdisk_label`][126] | [`PartitionTable`](crate::core::partition_table::PartitionTable) |
//! | [`enum fdisk_labeltype`][127] | [`PartitionTableKind`](crate::core::partition_table::PartitionTableKind) |
//! | [`fdisk_create_disklabel`][128] | [`Fdisk::partition_table_create_default`](crate::fdisk::Fdisk::partition_table_create_default)<br>[`Fdisk::partition_table_create`](crate::fdisk::Fdisk::partition_table_create) |
//! | [`fdisk_list_disklabel`][129] | [`Fdisk::partition_table_display_details`](crate::fdisk::Fdisk::partition_table_display_details) |
//! | [`fdisk_locate_disklabel`][130] | [`Fdisk::partition_table_section`](crate::fdisk::Fdisk::partition_table_section) |
//! | [`fdisk_reorder_partitions`][131] | [`Fdisk::partition_table_sort_partitions`](crate::fdisk::Fdisk::partition_table_sort_partitions) |
//! | [`fdisk_set_disklabel_id`][132] | [`Fdisk::partition_table_set_id`](crate::fdisk::Fdisk::partition_table_set_id) |
//! | [`fdisk_set_disklabel_id_from_string`][133] | [`Fdisk::partition_table_set_string_id`](crate::fdisk::Fdisk::partition_table_set_string_id) |
//! | [`fdisk_set_partition_type`][134] | [`Fdisk::partition_table_set_partition_type`](crate::fdisk::Fdisk::partition_table_set_partition_type) |
//! | [`fdisk_toggle_partition_flag`][135] | [`Fdisk::partition_table_toggle_partition_flag`](crate::fdisk::Fdisk::partition_table_toggle_partition_flag) |
//! | [`fdisk_verify_disklabel`][136] | [`Fdisk::partition_table_check`](crate::fdisk::Fdisk::partition_table_check) |
//! | [`fdisk_write_disklabel`][137] | [`Fdisk::partition_table_write_to_disk`](crate::fdisk::Fdisk::partition_table_write_to_disk) |
//! | [`fdisk_get_disklabel_id`][138] | [`Fdisk::partition_table_id`](crate::fdisk::Fdisk::partition_table_id) |
//! | [`fdisk_get_label`][139] | [`Fdisk::partition_table_current`](crate::fdisk::Fdisk::partition_table_current)<br>[`Fdisk::partition_table_current_mut`](crate::fdisk::Fdisk::partition_table_current_mut)<br>[`Fdisk::partition_table_by_type`](crate::fdisk::Fdisk::partition_table_by_type)<br>[`Fdisk::partition_table_by_type_mut`](crate::fdisk::Fdisk::partition_table_by_type_mut) |
//! | [`fdisk_get_nlabels`][140] | [`Fdisk::partition_table_count_types`](crate::fdisk::Fdisk::partition_table_count_types) |
//! | [`fdisk_next_label`][141] | [`Fdisk::iter`](crate::fdisk::Fdisk::iter) <br> [`Fdisk::iter_mut`](crate::fdisk::Fdisk::iter_mut) |
//! | [`fdisk_get_npartitions`][142] | [`Fdisk::partition_table_max_partitions`](crate::fdisk::Fdisk::partition_table_max_partitions) |
//! | [`fdisk_is_label`][143]() | |
//! | [`fdisk_label_advparse_parttype`][144] | [`PartitionTable::partition_type_parse`](crate::core::partition_table::PartitionTable::partition_type_parse) |
//! | [`fdisk_label_get_field`][145] | [`PartitionTable::partition_field_format`](crate::core::partition_table::PartitionTable::partition_field_format) |
//! | [`fdisk_label_get_field_by_name`][146] | [`PartitionTable::partition_field_format_by_name`](crate::core::partition_table::PartitionTable::partition_field_format_by_name) |
//! | [`fdisk_label_get_fields_ids`][147] | [`Fdisk::partition_table_collect_partition_fields`](crate::fdisk::Fdisk::partition_table_collect_partition_fields) |
//! | [`fdisk_label_get_fields_ids_all`][148] | [`Fdisk::partition_table_collect_all_partition_fields`](crate::fdisk::Fdisk::partition_table_collect_all_partition_fields) |
//! | [`fdisk_label_get_geomrange_cylinders`][149] | [`PartitionTable::geometry_cylinders`](crate::core::partition_table::PartitionTable::geometry_cylinders) |
//! | [`fdisk_label_get_geomrange_heads`][150] | [`PartitionTable::geometry_heads`](crate::core::partition_table::PartitionTable::geometry_heads) |
//! | [`fdisk_label_get_geomrange_sectors`][151] | [`PartitionTable::geometry_sectors`](crate::core::partition_table::PartitionTable::geometry_sectors) |
//! | [`fdisk_label_get_name`][152] | [`PartitionTable::name`](crate::core::partition_table::PartitionTable::name) |
//! | [`fdisk_label_get_nparttypes`][153] | [`PartitionTable::count_supported_partition_types`](crate::core::partition_table::PartitionTable::count_supported_partition_types) |
//! | [`fdisk_label_get_parttype`][154] | [`PartitionTable::supported_partition_types`](crate::core::partition_table::PartitionTable::supported_partition_types) |
//! | [`fdisk_label_get_parttype_from_code`][155] | [`PartitionTable::partition_type_from_code`](crate::core::partition_table::PartitionTable::partition_type_from_code) |
//! | [`fdisk_label_get_parttype_from_string`][156] | [`PartitionTable::partition_type_from_string`](crate::core::partition_table::PartitionTable::partition_type_from_string) |
//! | [`fdisk_label_get_parttype_shortcut`][157] | [`PartitionTable::partition_type_shortcut`](crate::core::partition_table::PartitionTable::partition_type_shortcut) |
//! | [`fdisk_label_get_type`][158] | [`PartitionTable::kind`](crate::core::partition_table::PartitionTable::kind) |
//! | [`fdisk_label_has_code_parttypes`][159] | [`PartitionTable::uses_partition_type_codes`](crate::core::partition_table::PartitionTable::uses_partition_type_codes) |
//! | [`fdisk_label_has_parttypes_shortcuts`][160] | [`PartitionTable::supports_partition_type_shortcuts`](crate::core::partition_table::PartitionTable::supports_partition_type_shortcuts) |
//! | [`fdisk_label_is_changed`][161] | [`PartitionTable::has_changes`](crate::core::partition_table::PartitionTable::has_changes) |
//! | [`fdisk_label_is_disabled`][162] | [`PartitionTable::is_disabled`](crate::core::partition_table::PartitionTable::is_disabled) |
//! | [`fdisk_label_parse_parttype`][163] | [`PartitionTable::partition_type_from_string_id`](crate::core::partition_table::PartitionTable::partition_type_from_string_id) |
//! | [`fdisk_label_require_geometry`][164] | [`PartitionTable::requires_chs_addressing`](crate::core::partition_table::PartitionTable::requires_chs_addressing) |
//! | [`fdisk_label_set_changed`][165] | [`PartitionTable::mark_as_changed`](crate::core::partition_table::PartitionTable::mark_as_changed)<br>[`PartitionTable::mark_as_unchanged`](crate::core::partition_table::PartitionTable::mark_as_unchanged) |
//! | [`fdisk_label_set_disabled`][166] | [`PartitionTable::disable`](crate::core::partition_table::PartitionTable::disable)<br>[`PartitionTable::enable`](crate::core::partition_table::PartitionTable::enable) |
//!
//! [126]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Label.html#fdisk-label
//! [127]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Label.html#fdisk-labeltype
//! [128]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Label.html#fdisk-create-disklabel
//! [129]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Label.html#fdisk-list-disklabel
//! [130]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Label.html#fdisk-locate-disklabel
//! [131]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Label.html#fdisk-reorder-partitions
//! [132]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Label.html#fdisk-set-disklabel-id
//! [133]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Label.html#fdisk-set-disklabel-id-from-string
//! [134]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Label.html#fdisk-set-partition-type
//! [135]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Label.html#fdisk-toggle-partition-flag
//! [136]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Label.html#fdisk-verify-disklabel
//! [137]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Label.html#fdisk-write-disklabel
//! [138]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Label.html#fdisk-get-disklabel-id
//! [139]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Label.html#fdisk-get-label
//! [140]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Label.html#fdisk-get-nlabels
//! [141]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Label.html#fdisk-next-label
//! [142]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Label.html#fdisk-get-npartitions
//! [143]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Label.html#fdisk-is-label
//! [144]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Label.html#fdisk-label-advparse-parttype
//! [145]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Label.html#fdisk-label-get-field
//! [146]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Label.html#fdisk-label-get-field-by-name
//! [147]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Label.html#fdisk-label-get-fields-ids
//! [148]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Label.html#fdisk-label-get-fields-ids-all
//! [149]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Label.html#fdisk-label-get-geomrange-cylinders
//! [150]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Label.html#fdisk-label-get-geomrange-heads
//! [151]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Label.html#fdisk-label-get-geomrange-sectors
//! [152]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Label.html#fdisk-label-get-name
//! [153]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Label.html#fdisk-label-get-nparttypes
//! [154]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Label.html#fdisk-label-get-parttype
//! [155]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Label.html#fdisk-label-get-parttype-from-code
//! [156]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Label.html#fdisk-label-get-parttype-from-string
//! [157]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Label.html#fdisk-label-get-parttype-shortcut
//! [158]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Label.html#fdisk-label-get-type
//! [159]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Label.html#fdisk-label-has-code-parttypes
//! [160]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Label.html#fdisk-label-has-parttypes-shortcuts
//! [161]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Label.html#fdisk-label-is-changed
//! [162]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Label.html#fdisk-label-is-disabled
//! [163]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Label.html#fdisk-label-parse-parttype
//! [164]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Label.html#fdisk-label-require-geometry
//! [165]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Label.html#fdisk-label-set-changed
//! [166]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Label.html#fdisk-label-set-disabled
//!
//! #### Partition
//!
//! | `libfdisk` | `rsfdisk` |
//! | ------------------ | --------- |
//! | [`struct fdisk_partition`][167] | [`Partition`](crate::core::partition::Partition) |
//! | [`fdisk_add_partition`][168] | [`Fdisk::partition_add`](crate::fdisk::Fdisk::partition_add)<br>[`Fdisk::partition_add_interactive`](crate::fdisk::Fdisk::partition_add_interactive) |
//! | [`fdisk_delete_all_partitions`][169] | [`Fdisk::partition_delete_all`](crate::fdisk::Fdisk::partition_delete_all) |
//! | [`fdisk_delete_partition`][170] | [`Fdisk::partition_delete`](crate::fdisk::Fdisk::partition_delete) |
//! | [`fdisk_get_partition`][171] | [`Fdisk::partition_by_number`](crate::fdisk::Fdisk::partition_by_number) <br> [`Fdisk::partition_by_number_mut`](crate::fdisk::Fdisk::partition_by_number_mut) |
//! | [`fdisk_is_partition_used`][172] | [`Fdisk::partition_is_number_in_use`](crate::fdisk::Fdisk::partition_is_number_in_use) |
//! | [`fdisk_set_partition`][173] | [`Fdisk::partition_override_settings`](crate::fdisk::Fdisk::partition_override_settings) |
//! | [`fdisk_wipe_partition`][174] | [`Fdisk::partition_wipe_activate`](crate::fdisk::Fdisk::partition_wipe_activate)<br>[`Fdisk::partition_wipe_deactivate`](crate::fdisk::Fdisk::partition_wipe_deactivate) |
//! | [`fdisk_new_partition`][175] | [`Partition::builder`](crate::core::partition::Partition::builder) |
//! | [`fdisk_partition_cmp_partno`][176] | [`Partition::compare_partition_numbers`](crate::core::partition::Partition::compare_partition_numbers) |
//! | [`fdisk_partition_cmp_start`][177] | [`Partition::compare_starting_sectors`](crate::core::partition::Partition::compare_starting_sectors) |
//! | [`fdisk_partition_end_follow_default`][178] | Managed internally by [`PartitionBuilder`](crate::core::partition::PartitionBuilder). |
//! | [`fdisk_partition_end_is_default`][179] | [`Partition::uses_default_ending_sector`](crate::core::partition::Partition::uses_default_ending_sector) |
//! | [`fdisk_partition_get_attrs`][180] | [`Partition::attribute_bits`](crate::core::partition::Partition::attribute_bits) |
//! | [`fdisk_partition_get_end`][181] | [`Partition::ending_sector`](crate::core::partition::Partition::ending_sector) |
//! | [`fdisk_partition_get_name`][182] | [`Partition::name`](crate::core::partition::Partition::name) |
//! | [`fdisk_partition_get_parent`][183] | [`Partition::parent_partition_number`](crate::core::partition::Partition::parent_partition_number) |
//! | [`fdisk_partition_get_partno`][184] | [`Partition::number`](crate::core::partition::Partition::number) |
//! | [`fdisk_partition_get_size`][185] | [`Partition::size_in_sectors`](crate::core::partition::Partition::size_in_sectors) |
//! | [`fdisk_partition_get_start`][186] | [`Partition::starting_sector`](crate::core::partition::Partition::starting_sector) |
//! | [`fdisk_partition_get_type`][187] | [`Partition::partition_type`](crate::core::partition::Partition::partition_type) |
//! | [`fdisk_partition_get_uuid`][188] | [`Partition::uuid`](crate::core::partition::Partition::uuid) |
//! | [`fdisk_partition_has_end`][189] | Redundant since we return [`Option::None`] when the value is not set. |
//! | [`fdisk_partition_has_partno`][190] | Redundant since we return [`Option::None`] when the value is not set. |
//! | [`fdisk_partition_has_size`][191] | Redundant since we return [`Option::None`] when the value is not set. |
//! | [`fdisk_partition_has_start`][192] | Redundant since we return [`Option::None`] when the value is not set. |
//! | [`fdisk_partition_has_wipe`][193] | [`Fdisk::is_partition_wipe_active`](crate::fdisk::Fdisk::is_partition_wipe_active) |
//! | [`fdisk_partition_is_bootable`][194] | [`Partition::is_bootable`](crate::core::partition::Partition::is_bootable) |
//! | [`fdisk_partition_is_container`][195] | [`Partition::is_container`](crate::core::partition::Partition::is_container) |
//! | [`fdisk_partition_is_freespace`][196] | [`Partition::is_free_space`](crate::core::partition::Partition::is_free_space) |
//! | [`fdisk_partition_is_nested`][197] | [`Partition::is_nested`](crate::core::partition::Partition::is_nested) |
//! | [`fdisk_partition_is_used`][198] | [`Partition::points_to_used_area`](crate::core::partition::Partition::points_to_used_area) |
//! | [`fdisk_partition_is_wholedisk`][199] | [`Partition::is_whole_disk`](crate::core::partition::Partition::is_whole_disk) |
//! | [`fdisk_partition_next_partno`][200] | [`Fdisk::partition_ask_next_number`](crate::fdisk::Fdisk::partition_ask_next_number)<br>[`Fdisk::partition_next_number`](crate::fdisk::Fdisk::partition_next_number) |
//! | [`fdisk_partition_partno_follow_default`][201] | Managed internally by [`PartitionBuilder`](crate::core::partition::PartitionBuilder). |
//! | [`fdisk_partition_set_attrs`][202] | [`PartitionBuilder::attribute_bits`](crate::core::partition::PartitionBuilder::attribute_bits) |
//! | [`fdisk_partition_set_name`][203] | [`PartitionBuilder::name`](crate::core::partition::PartitionBuilder::name) |
//! | [`fdisk_partition_set_partno`][204] | [`PartitionBuilder::number`](crate::core::partition::PartitionBuilder::number)<br>[`Partition::set_partition_number`](crate::core::partition::Partition::set_partition_number) |
//! | [`fdisk_partition_set_size`][205] | [`PartitionBuilder::size_in_sectors`](crate::core::partition::PartitionBuilder::size_in_sectors)<br>[`Partition::set_size_in_sectors`](crate::core::partition::Partition::set_size_in_sectors) |
//! | [`fdisk_partition_set_start`][206] | [`PartitionBuilder::starting_sector`](crate::core::partition::PartitionBuilder::starting_sector)<br>[`Partition::set_starting_sector`](crate::core::partition::Partition::set_starting_sector) |
//! | [`fdisk_partition_set_type`][207] | [`PartitionBuilder::partition_type`](crate::core::partition::PartitionBuilder::partition_type) |
//! | [`fdisk_partition_set_uuid`][208] | [`PartitionBuilder::uuid`](crate::core::partition::PartitionBuilder::uuid) |
//! | [`fdisk_partition_size_explicit`][209] | [`PartitionBuilder::ask_size_interactive`](crate::core::partition::PartitionBuilder::ask_size_interactive) |
//! | [`fdisk_partition_start_follow_default`][210] | Managed internally by [`PartitionBuilder`](crate::core::partition::PartitionBuilder). |
//! | [`fdisk_partition_start_is_default`][211] | [`Partition::uses_default_starting_sector`](crate::core::partition::Partition::uses_default_starting_sector) |
//! | [`fdisk_partition_to_string`][212] | [`Fdisk::partition_field_to_string`](crate::fdisk::Fdisk::partition_field_to_string) |
//! | [`fdisk_partition_unset_partno`][213] | [`Partition::unset_partition_number`](crate::core::partition::Partition::unset_partition_number) |
//! | [`fdisk_partition_unset_size`][214] | [`Partition::unset_size_in_sectors`](crate::core::partition::Partition::unset_size_in_sectors) |
//! | [`fdisk_partition_unset_start`][215] | [`Partition::unset_starting_sector`](crate::core::partition::Partition::unset_starting_sector) |
//! | [`fdisk_ref_partition`][216] | Managed automatically. |
//! | [`fdisk_reset_partition`][217] | Not implemented. |
//! | [`fdisk_unref_partition`][218] | [`Partition`](crate::core::partition::Partition) is automatically deallocated when it goes out of scope. |
//!
//! [167]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Partition.html#fdisk-partition
//! [168]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Partition.html#fdisk-add-partition
//! [169]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Partition.html#fdisk-delete-all-partitions
//! [170]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Partition.html#fdisk-delete-partition
//! [171]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Partition.html#fdisk-get-partition
//! [172]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Partition.html#fdisk-is-partition-used
//! [173]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Partition.html#fdisk-set-partition
//! [174]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Partition.html#fdisk-wipe-partition
//! [175]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Partition.html#fdisk-new-partition
//! [176]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Partition.html#fdisk-partition-cmp-partno
//! [177]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Partition.html#fdisk-partition-cmp-start
//! [178]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Partition.html#fdisk-partition-end-follow-default
//! [179]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Partition.html#fdisk-partition-end-is-default
//! [180]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Partition.html#fdisk-partition-get-attrs
//! [181]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Partition.html#fdisk-partition-get-end
//! [182]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Partition.html#fdisk-partition-get-name
//! [183]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Partition.html#fdisk-partition-get-parent
//! [184]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Partition.html#fdisk-partition-get-partno
//! [185]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Partition.html#fdisk-partition-get-size
//! [186]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Partition.html#fdisk-partition-get-start
//! [187]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Partition.html#fdisk-partition-get-type
//! [188]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Partition.html#fdisk-partition-get-uuid
//! [189]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Partition.html#fdisk-partition-has-end
//! [190]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Partition.html#fdisk-partition-has-partno
//! [191]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Partition.html#fdisk-partition-has-size
//! [192]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Partition.html#fdisk-partition-has-start
//! [193]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Partition.html#fdisk-partition-has-wipe
//! [194]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Partition.html#fdisk-partition-is-bootable
//! [195]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Partition.html#fdisk-partition-is-container
//! [196]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Partition.html#fdisk-partition-is-freespace
//! [197]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Partition.html#fdisk-partition-is-nested
//! [198]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Partition.html#fdisk-partition-is-used
//! [199]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Partition.html#fdisk-partition-is-wholedisk
//! [200]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Partition.html#fdisk-partition-next-partno
//! [201]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Partition.html#fdisk-partition-partno-follow-default
//! [202]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Partition.html#fdisk-partition-set-attrs
//! [203]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Partition.html#fdisk-partition-set-name
//! [204]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Partition.html#fdisk-partition-set-partno
//! [205]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Partition.html#fdisk-partition-set-size
//! [206]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Partition.html#fdisk-partition-set-start
//! [207]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Partition.html#fdisk-partition-set-type
//! [208]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Partition.html#fdisk-partition-set-uuid
//! [209]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Partition.html#fdisk-partition-size-explicit
//! [210]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Partition.html#fdisk-partition-start-follow-default
//! [211]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Partition.html#fdisk-partition-start-is-default
//! [212]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Partition.html#fdisk-partition-to-string
//! [213]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Partition.html#fdisk-partition-unset-partno
//! [214]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Partition.html#fdisk-partition-unset-size
//! [215]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Partition.html#fdisk-partition-unset-start
//! [216]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Partition.html#fdisk-ref-partition
//! [217]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Partition.html#fdisk-reset-partition
//! [218]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Partition.html#fdisk-unref-partition
//!
//! #### Table
//!
//! | `libfdisk` | `rsfdisk` |
//! | ------------------ | --------- |
//! | [`struct fdisk_table`][219] | [`PartitionList`](crate::core::partition::PartitionList) |
//! | [`fdisk_get_freespaces`][220] | [`Fdisk::list_empty_spaces`](crate::fdisk::Fdisk::list_empty_spaces) |
//! | [`fdisk_get_partitions`][221] | [`Fdisk::list_partitions`](crate::fdisk::Fdisk::list_partitions) |
//! | [`fdisk_apply_table`][222] | [`Fdisk::partitions_append`](crate::fdisk::Fdisk::partitions_append) |
//! | [`fdisk_new_table`][223] | [`PartitionList::new`](crate::core::partition::PartitionList::new) |
//! | [`fdisk_ref_table`][224] | Managed automatically. |
//! | [`fdisk_reset_table`][225] | [`PartitionList::clear`](crate::core::partition::PartitionList::clear) |
//! | [`fdisk_table_add_partition`][226] | [`PartitionList::push`](crate::core::partition::PartitionList::push) |
//! | [`fdisk_table_get_nents`][227] | [`PartitionList::len`](crate::core::partition::PartitionList::len) |
//! | [`fdisk_table_get_partition`][228] | [`PartitionList::get`](crate::core::partition::PartitionList::get) <br> [`PartitionList::get_mut`](crate::core::partition::PartitionList::get_mut) |
//! | [`fdisk_table_get_partition_by_partno`][229] | [`PartitionList::get_by_partition_number`](crate::core::partition::PartitionList::get_by_partition_number) <br> [`PartitionList::get_by_partition_number_mut`](crate::core::partition::PartitionList::get_by_partition_number_mut) |
//! | [`fdisk_table_is_empty`][230] | [`PartitionList::is_empty`](crate::core::partition::PartitionList::is_empty) |
//! | [`fdisk_table_next_partition`][231] | [`PartitionList::iter`](crate::core::partition::PartitionList::iter) <br> [`PartitionList::iter_mut`](crate::core::partition::PartitionList::iter_mut) |
//! | [`fdisk_table_remove_partition`][232] | [`PartitionList::remove`](crate::core::partition::PartitionList::remove) |
//! | [`fdisk_table_sort_partitions`][233] | Can not implement without a data pointer in the `cmp` function see [Passing Rust closure to C](http://blog.sagetheprogrammer.com/neat-rust-tricks-passing-rust-closures-to-c) |
//! | [`fdisk_table_wrong_order`][234] | [`PartitionList::is_not_in_increasing_order`](crate::core::partition::PartitionList::is_not_in_increasing_order) |
//! | [`fdisk_unref_table`][235] | [`PartitionList`](crate::core::partition::PartitionList) is automatically deallocated when it goes out of scope. |
//!
//! [219]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Table.html#fdisk-table
//! [220]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Table.html#fdisk-get-freespaces
//! [221]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Table.html#fdisk-get-partitions
//! [222]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Table.html#fdisk-apply-table
//! [223]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Table.html#fdisk-new-table
//! [224]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Table.html#fdisk-ref-table
//! [225]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Table.html#fdisk-reset-table
//! [226]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Table.html#fdisk-table-add-partition
//! [227]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Table.html#fdisk-table-get-nents
//! [228]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Table.html#fdisk-table-get-partition
//! [229]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Table.html#fdisk-table-get-partition-by-partno
//! [230]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Table.html#fdisk-table-is-empty
//! [231]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Table.html#fdisk-table-next-partition
//! [232]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Table.html#fdisk-table-remove-partition
//! [233]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Table.html#fdisk-table-sort-partitions
//! [234]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Table.html#fdisk-table-wrong-order
//! [235]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Table.html#fdisk-unref-table
//!
//! #### Partition types
//!
//! | `libfdisk` | `rsfdisk` |
//! | ------------------ | --------- |
//! | [`struct fdisk_parttype`][236] | [`PartitionKind`](crate::core::partition::PartitionKind) |
//! | [`enum fdisk_parttype_parser_flags`][237] | [`InputType`](crate::core::partition_table::InputType) |
//! | [`fdisk_copy_parttype`][238] | [`PartitionKind::clone`](crate::core::partition::PartitionKind::clone) |
//! | [`fdisk_new_parttype`][239] | [`PartitionKind::builder`](crate::core::partition::PartitionKind::builder) |
//! | [`fdisk_new_unknown_parttype`][240] | [`PartitionKindBuilder::unknown_kind`](crate::core::partition::PartitionKindBuilder::unknown_kind) |
//! | [`fdisk_parttype_get_code`][241] | [`PartitionKind::code`](crate::core::partition::PartitionKind::code) |
//! | [`fdisk_parttype_get_name`][242] | [`PartitionKind::name`](crate::core::partition::PartitionKind::name) |
//! | [`fdisk_parttype_get_string`][243] | [`PartitionKind::guid`](crate::core::partition::PartitionKind::guid) |
//! | [`fdisk_parttype_is_unknown`][244] | [`PartitionKind::is_unknown_type`](crate::core::partition::PartitionKind::is_unknown_type) |
//! | [`fdisk_parttype_set_code`][245] | [`PartitionKindBuilder::code`](crate::core::partition::PartitionKindBuilder::code) |
//! | [`fdisk_parttype_set_name`][246] | [`PartitionKindBuilder::name`](crate::core::partition::PartitionKindBuilder::name) |
//! | [`fdisk_parttype_set_typestr`][247] | [`PartitionKindBuilder::guid`](crate::core::partition::PartitionKindBuilder::guid) |
//! | [`fdisk_ref_parttype`][248] | Managed automatically. |
//! | [`fdisk_unref_parttype`][249] | [`PartitionKind`](crate::core::partition::PartitionKind) is automatically deallocated when it goes out of scope. |
//!
//! [236]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Partition-types.html#fdisk-parttype
//! [237]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Partition-types.html#fdisk-parttype-parser-flags
//! [238]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Partition-types.html#fdisk-copy-parttype
//! [239]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Partition-types.html#fdisk-new-parttype
//! [240]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Partition-types.html#fdisk-new-unknown-parttype
//! [241]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Partition-types.html#fdisk-parttype-get-code
//! [242]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Partition-types.html#fdisk-parttype-get-name
//! [243]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Partition-types.html#fdisk-parttype-get-string
//! [244]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Partition-types.html#fdisk-parttype-is-unknown
//! [245]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Partition-types.html#fdisk-parttype-set-code
//! [246]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Partition-types.html#fdisk-parttype-set-name
//! [247]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Partition-types.html#fdisk-parttype-set-typestr
//! [248]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Partition-types.html#fdisk-ref-parttype
//! [249]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Partition-types.html#fdisk-unref-parttype
//!
//! #### Label item
//!
//! | `libfdisk` | `rsfdisk` |
//! | ------------------ | --------- |
//! | [`struct fdisk_labelitem`][250] | [`HeaderEntryContent`](crate::core::partition_table::HeaderEntryContent) |
//! | [`enum fdisk_labelitem_bsd`][251] | [`HeaderEntry`](crate::core::partition_table::HeaderEntry) |
//! | [`enum fdisk_labelitem_gen`][252] | [`HeaderEntry`](crate::core::partition_table::HeaderEntry) |
//! | [`enum fdisk_labelitem_gpt`][253] | [`HeaderEntry`](crate::core::partition_table::HeaderEntry) |
//! | [`enum fdisk_labelitem_sgi`][254] | [`HeaderEntry`](crate::core::partition_table::HeaderEntry) |
//! | [`enum fdisk_labelitem_sun`][255] | [`HeaderEntry`](crate::core::partition_table::HeaderEntry) |
//! | [`fdisk_new_labelitem`][256] | Private method. |
//! | [`fdisk_ref_labelitem`][257] | Managed automatically. |
//! | [`fdisk_reset_labelitem`][258] | Not implemented. `HeaderEntry` instances are immutable. |
//! | [`fdisk_unref_labelitem`][259] | [`HeaderEntryContent`](crate::core::partition_table::HeaderEntryContent) is automatically deallocated when it goes out of scope. |
//! | [`fdisk_labelitem_get_name`][260] | [`HeaderEntryContent::name`](crate::core::partition_table::HeaderEntryContent::name) |
//! | [`fdisk_labelitem_get_id`][261] | [`HeaderEntryContent::header_entry`](crate::core::partition_table::HeaderEntryContent::header_entry) |
//! | [`fdisk_labelitem_get_data_u64`][262] | [`HeaderEntryContent::data_u64`](crate::core::partition_table::HeaderEntryContent::data_u64) |
//! | [`fdisk_labelitem_get_data_string`][263] | [`HeaderEntryContent::data_string`](crate::core::partition_table::HeaderEntryContent::data_string) |
//! | [`fdisk_labelitem_is_string`][264] | [`HeaderEntryContent::is_string`](crate::core::partition_table::HeaderEntryContent::is_string) |
//! | [`fdisk_labelitem_is_number`][265] | [`HeaderEntryContent::is_numeric`](crate::core::partition_table::HeaderEntryContent::is_numeric) |
//!
//! [250]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Labelitem.html#fdisk-labelitem
//! [251]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Labelitem.html#fdisk-labelitem-bsd
//! [252]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Labelitem.html#fdisk-labelitem-gen
//! [253]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Labelitem.html#fdisk-labelitem-gpt
//! [254]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Labelitem.html#fdisk-labelitem-sgi
//! [255]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Labelitem.html#fdisk-labelitem-sun
//! [256]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Labelitem.html#fdisk-new-labelitem
//! [257]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Labelitem.html#fdisk-ref-labelitem
//! [258]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Labelitem.html#fdisk-reset-labelitem
//! [259]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Labelitem.html#fdisk-unref-labelitem
//! [260]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Labelitem.html#fdisk-labelitem-get-name
//! [261]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Labelitem.html#fdisk-labelitem-get-id
//! [262]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Labelitem.html#fdisk-labelitem-get-data-u64
//! [263]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Labelitem.html#fdisk-labelitem-get-data-string
//! [264]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Labelitem.html#fdisk-labelitem-is-string
//! [265]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Labelitem.html#fdisk-labelitem-is-number
//!
//! #### Field
//!
//! | `libfdisk` | `rsfdisk` |
//! | ------------------ | --------- |
//! | [`struct fdisk_field`][266] | [`FieldFormat`](crate::core::partition_table::FieldFormat) |
//! | [`enum fdisk_fieldtype`][267] | [`Field`](crate::core::partition_table::Field) |
//! | [`fdisk_field_get_id`][268] | [`FieldFormat::field`](crate::core::partition_table::FieldFormat::field) |
//! | [`fdisk_field_get_name`][269] | [`FieldFormat::col_name`](crate::core::partition_table::FieldFormat::col_name) |
//! | [`fdisk_field_get_width`][270] | [`FieldFormat::width`](crate::core::partition_table::FieldFormat::width) |
//! | [`fdisk_field_is_number`][271] | [`FieldFormat::is_numeric`](crate::core::partition_table::FieldFormat::is_numeric) |
//!
//! [266]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Field.html#fdisk-field
//! [267]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Field.html#fdisk-fieldtype
//! [268]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Field.html#fdisk-field-get-id
//! [269]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Field.html#fdisk-field-get-name
//! [270]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Field.html#fdisk-field-get-width
//! [271]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Field.html#fdisk-field-is-number
//!
//! ### Label specific functions
//! #### DOS
//!
//! | `libfdisk` | `rsfdisk` |
//! | ------------------ | --------- |
//! | [`DOS_FLAG_ACTIVE`][272] | [`DOSFlag::Boot`](crate::core::partition::DOSFlag::Boot) |
//! | [`fdisk_dos_enable_compatible`][273] | [`PartitionTableDOSExt::dos_enable_compatible_mode`](crate::core::partition_table::PartitionTableDOSExt::dos_enable_compatible_mode)<br>[`PartitionTableDOSExt::dos_disable_compatible_mode`](crate::core::partition_table::PartitionTableDOSExt::dos_disable_compatible_mode) |
//! | [`fdisk_dos_is_compatible`][274] | [`PartitionTableDOSExt::is_dos_compatible`](crate::core::partition_table::PartitionTableDOSExt::is_dos_compatible) |
//! | [`fdisk_dos_move_begin`][275] | [`FdiskDOSExt::dos_relocate_partition`](crate::fdisk::FdiskDOSExt::dos_relocate_partition) |
//! | [`fdisk_dos_fix_chs`][276] | [`FdiskDOSExt::dos_fix_chs_values`](crate::fdisk::FdiskDOSExt::dos_fix_chs_values) |
//!
//! [272]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-DOS.html#DOS-FLAG-ACTIVE:CAPS
//! [273]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-DOS.html#fdisk-dos-enable-compatible
//! [274]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-DOS.html#fdisk-dos-is-compatible
//! [275]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-DOS.html#fdisk-dos-move-begin
//! [276]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-DOS.html#fdisk-dos-fix-chs
//!
//! #### UEFI GPT
//!
//! | `libfdisk` | `rsfdisk` |
//! | ------------------ | --------- |
//! | [`GPT_FLAG_REQUIRED`][278] | [`GPTFlag::RequiredPartition`](crate::core::partition::GPTFlag::RequiredPartition) |
//! | [`GPT_FLAG_NOBLOCK`][279] | [`GPTFlag::NoIoBlockProtocol`](crate::core::partition::GPTFlag::NoIoBlockProtocol) |
//! | [`GPT_FLAG_LEGACYBOOT`][280] | [`GPTFlag::LegacyBiosBootable`](crate::core::partition::GPTFlag::LegacyBiosBootable) |
//! | [`GPT_FLAG_GUIDSPECIFIC`][281] | [`GPTFlag::GuidSpecific`](crate::core::partition::GPTFlag::GuidSpecific) |
//! | [`fdisk_gpt_is_hybrid`][282] | [`FdiskGPTExt::gpt_is_hybrid`](crate::fdisk::FdiskGPTExt::gpt_is_hybrid) |
//! | [`fdisk_gpt_get_partition_attrs`][283] | [`FdiskGPTExt::gpt_attribute_bits`](crate::fdisk::FdiskGPTExt::gpt_attribute_bits) |
//! | [`fdisk_gpt_set_partition_attrs`][284] | [`FdiskGPTExt::gpt_set_attribute_bits`](crate::fdisk::FdiskGPTExt::gpt_set_attribute_bits) |
//! | [`fdisk_gpt_set_npartitions`][285] | [`FdiskGPTExt::gpt_set_partition_entry_array_size`](crate::fdisk::FdiskGPTExt::gpt_set_partition_entry_array_size) |
//! | [`fdisk_gpt_disable_relocation`][286] | [`PartitionTableGPTExt::gpt_enable_backup_header_relocation`](crate::core::partition_table::PartitionTableGPTExt::gpt_enable_backup_header_relocation)<br>[`PartitionTableGPTExt::gpt_disable_backup_header_relocation`](crate::core::partition_table::PartitionTableGPTExt::gpt_disable_backup_header_relocation) |
//! | [`fdisk_gpt_enable_minimize`][287] | [`PartitionTableGPTExt::gpt_enable_minimize_footprint`](crate::core::partition_table::PartitionTableGPTExt::gpt_enable_minimize_footprint)<br>[`PartitionTableGPTExt::gpt_disable_minimize_footprint`](crate::core::partition_table::PartitionTableGPTExt::gpt_disable_minimize_footprint) |
//!
//! [278]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-UEFI-GPT.html#GPT-FLAG-REQUIRED:CAPS
//! [279]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-UEFI-GPT.html#GPT-FLAG-NOBLOCK:CAPS
//! [280]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-UEFI-GPT.html#GPT-FLAG-LEGACYBOOT:CAPS
//! [281]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-UEFI-GPT.html#GPT-FLAG-GUIDSPECIFIC:CAPS
//! [282]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-UEFI-GPT.html#fdisk-gpt-is-hybrid
//! [283]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-UEFI-GPT.html#fdisk-gpt-get-partition-attrs
//! [284]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-UEFI-GPT.html#fdisk-gpt-set-partition-attrs
//! [285]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-UEFI-GPT.html#fdisk-gpt-set-npartitions
//! [286]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-UEFI-GPT.html#fdisk-gpt-disable-relocation
//! [287]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-UEFI-GPT.html#fdisk-gpt-enable-minimize
//!
//! #### SUN
//!
//! | `libfdisk` | `rsfdisk` |
//! | ------------------ | --------- |
//! | [`fdisk_sun_set_alt_cyl`][288] | [`FdiskSUNExt::sun_set_alternate_cylinder_count`](crate::fdisk::FdiskSUNExt::sun_set_alternate_cylinder_count) |
//! | [`fdisk_sun_set_ilfact`][289] | [`FdiskSUNExt::sun_set_interleave_factor`](crate::fdisk::FdiskSUNExt::sun_set_interleave_factor) |
//! | [`fdisk_sun_set_pcylcount`][290] | [`FdiskSUNExt::sun_set_physical_cylinder_count`](crate::fdisk::FdiskSUNExt::sun_set_physical_cylinder_count) |
//! | [`fdisk_sun_set_rspeed`][291] | [`FdiskSUNExt::sun_set_rotation_per_minute`](crate::fdisk::FdiskSUNExt::sun_set_rotation_per_minute) |
//! | [`fdisk_sun_set_xcyl`][292] | [`FdiskSUNExt::sun_set_extra_sectors_per_cylinder`](crate::fdisk::FdiskSUNExt::sun_set_extra_sectors_per_cylinder) |
//!
//! [288]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-SUN.html#fdisk-sun-set-alt-cyl
//! [289]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-SUN.html#fdisk-sun-set-ilfact
//! [290]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-SUN.html#fdisk-sun-set-pcylcount
//! [291]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-SUN.html#fdisk-sun-set-rspeed
//! [292]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-SUN.html#fdisk-sun-set-xcyl
//!
//! #### SGI
//!
//! | `libfdisk` | `rsfdisk` |
//! | ------------------ | --------- |
//! | [`SGI_FLAG_BOOT`][293] | [`SGIFlag::Boot`](crate::core::partition::SGIFlag::Boot) |
//! | [`SGI_FLAG_SWAP`][294] | [`SGIFlag::Swap`](crate::core::partition::SGIFlag::Swap) |
//! | [`fdisk_sgi_create_info`][295] | [`FdiskSGIExt::sgi_add_hint`](crate::fdisk::FdiskSGIExt::sgi_add_hint) |
//! | [`fdisk_sgi_set_bootfile`][296] | [`FdiskSGIExt::sgi_set_boot_file`](crate::fdisk::FdiskSGIExt::sgi_set_boot_file) |
//!
//! [293]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-SGI.html#SGI-FLAG-BOOT:CAPS
//! [294]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-SGI.html#SGI-FLAG-SWAP:CAPS
//! [295]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-SGI.html#fdisk-sgi-create-info
//! [296]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-SGI.html#fdisk-sgi-set-bootfile
//!
//! #### BSD
//!
//! | `libfdisk` | `rsfdisk` |
//! | ------------------ | --------- |
//! | [`fdisk_bsd_edit_disklabel`][297] | [`FdiskBSDExt::bsd_edit_disk_label`](crate::fdisk::FdiskBSDExt::bsd_edit_disk_label) |
//! | [`fdisk_bsd_link_partition`][298] | [`FdiskBSDExt::bsd_link_to_nested_partition`](crate::fdisk::FdiskBSDExt::bsd_link_to_nested_partition) |
//! | [`fdisk_bsd_write_bootstrap`][299] | [`FdiskBSDExt::bsd_install_bootstrap_file`](crate::fdisk::FdiskBSDExt::bsd_install_bootstrap_file) |
//!
//! [297]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-BSD.html#fdisk-bsd-edit-disklabel
//! [298]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-BSD.html#fdisk-bsd-link-partition
//! [299]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-BSD.html#fdisk-bsd-write-bootstrap
//!
//! ### Misc
//! #### Iterator
//!
//! | `libfdisk` | `rsfdisk` |
//! | ------------------ | --------- |
//! | [`struct fdisk_iter`][300] | [`GenIterator`](crate::core::iter::GenIterator) |
//! | [`fdisk_free_iter`][301] | [`GenIterator`](crate::core::iter::GenIterator) is automatically deallocated when it goes out of scope. |
//! | [`fdisk_iter_get_direction`][302] | [`GenIterator::direction`](crate::core::iter::GenIterator::direction) |
//! | [`fdisk_new_iter`][303] | [`GenIterator::new`](crate::core::iter::GenIterator::new) |
//! | [`fdisk_reset_iter`][304] | [`GenIterator::reset`](crate::core::iter::GenIterator::reset)<br>[`GenIterator::reset_forward`](crate::core::iter::GenIterator::reset_forward)<br>[`GenIterator::reset_backward`](crate::core::iter::GenIterator::reset_backward) |
//!
//! [300]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Iterator.html#fdisk-iter
//! [301]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Iterator.html#fdisk-free-iter
//! [302]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Iterator.html#fdisk-iter-get-direction
//! [303]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Iterator.html#fdisk-new-iter
//! [304]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Iterator.html#fdisk-reset-iter
//!
//! #### Utils
//!
//! | `libfdisk` | `rsfdisk` |
//! | ------------------ | --------- |
//! | [`fdisk_partname`][305] | [`core::utils::misc::partition_name`] |
//!
//! [305]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Utils.html#fdisk-partname
//!
//! #### Library initialization
//!
//! | `libfdisk` | `rsfdisk` |
//! | ------------------ | --------- |
//! | [`fdisk_init_debug`][306] | [`debug::init_default_debug`]<br>[`debug::init_full_debug`] |
//!
//! [306]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Library-initialization.html#fdisk-init-debug
//!
//! #### Version functions
//!
//! | `libfdisk` | `rsfdisk` |
//! | ------------------ | --------- |
//! | [`LIBFDISK_MAJOR_VERSION`][307] | [`core::utils::version::VERSION_NUMBER_MAJOR`] |
//! | [`LIBFDISK_MINOR_VERSION`][308] | [`core::utils::version::VERSION_NUMBER_MINOR`] |
//! | [`LIBFDISK_PATCH_VERSION`][309] | [`core::utils::version::VERSION_NUMBER_PATCH`] |
//! | [`LIBFDISK_VERSION`][310] | [`core::utils::version::VERSION_STRING`] |
//! | [`fdisk_parse_version_string`][311] | [`core::utils::version::version_string_to_release_code`] |
//! | [`fdisk_get_library_version`][312] | [`core::utils::version::VERSION_STRING`] |
//! | [`fdisk_get_library_features`][313] | [`core::utils::version::library_features`] |
//!
//! [307]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Version-functions.html#LIBFDISK-MAJOR-VERSION:CAPS
//! [308]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Version-functions.html#LIBFDISK-MINOR-VERSION:CAPS
//! [309]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Version-functions.html#LIBFDISK-PATCH-VERSION:CAPS
//! [310]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Version-functions.html#LIBFDISK-VERSION:CAPS
//! [311]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Version-functions.html#fdisk-parse-version-string
//! [312]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Version-functions.html#fdisk-get-library-version
//! [313]: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/libfdisk-docs/libfdisk-Version-functions.html#fdisk-get-library-features
pub use *;
pub use errors;
pub use iter;
pub use partition;
pub use partition_table;
pub use prompt;
pub use script;
pub use utils;
pub