GCC Code Coverage Report


Directory: common/src/
Coverage: low: ≥ 0% medium: ≥ 75.0% high: ≥ 90.0%
Coverage Exec / Excl / Total
Lines: 100.0% 6 / 0 / 6
Functions: 100.0% 1 / 0 / 1
Branches: 100.0% 12 / 0 / 12

fxe_media_format.c
Line Branch Exec Source
1 /***************************************************************************
2 * Copyright (c) 2024 Microsoft Corporation
3 * Copyright (c) 2026-present Eclipse ThreadX contributors
4 *
5 * This program and the accompanying materials are made available under the
6 * terms of the MIT License which is available at
7 * https://opensource.org/licenses/MIT.
8 *
9 * SPDX-License-Identifier: MIT
10 **************************************************************************/
11
12
13 /**************************************************************************/
14 /**************************************************************************/
15 /** */
16 /** FileX Component */
17 /** */
18 /** Media */
19 /** */
20 /**************************************************************************/
21 /**************************************************************************/
22
23 #define FX_SOURCE_CODE
24
25
26 /* Include necessary system files. */
27
28 #include "fx_api.h"
29 #include "fx_media.h"
30
31
32 FX_CALLER_CHECKING_EXTERNS
33
34
35 /**************************************************************************/
36 /* */
37 /* FUNCTION RELEASE */
38 /* */
39 /* _fxe_media_format PORTABLE C */
40 /* 6.1.5 */
41 /* AUTHOR */
42 /* */
43 /* William E. Lamie, Microsoft Corporation */
44 /* */
45 /* DESCRIPTION */
46 /* */
47 /* This function checks for errors in the media format call. */
48 /* */
49 /* INPUT */
50 /* */
51 /* media_ptr Pointer to media control block*/
52 /* (does not need to be opened)*/
53 /* driver Pointer to FileX driver (must */
54 /* be able to field requests */
55 /* prior to opening) */
56 /* driver_info_ptr Optional information pointer */
57 /* memory_ptr Pointer to memory used by the */
58 /* FileX for this media. */
59 /* memory_size Size of media memory - must */
60 /* at least 512 bytes and */
61 /* one sector size. */
62 /* volume_name Name of the volume */
63 /* number_of_fats Number of FAT tables */
64 /* directory_entries Number of directory entries */
65 /* hidden_sectors Number of hidden sectors */
66 /* total_sectors Total number of sectors */
67 /* bytes_per_sector Number of bytes per sector */
68 /* sectors_per_cluster Number of sectors per cluster */
69 /* heads Number of heads */
70 /* sectors_per_track Number of sectors per track */
71 /* */
72 /* OUTPUT */
73 /* */
74 /* Completion Status */
75 /* */
76 /* CALLS */
77 /* */
78 /* _fx_media_format Actual media format service */
79 /* */
80 /* CALLED BY */
81 /* */
82 /* Application Code */
83 /* */
84 /**************************************************************************/
85 54536 UINT _fxe_media_format(FX_MEDIA *media_ptr, VOID (*driver)(FX_MEDIA *media), VOID *driver_info_ptr, UCHAR *memory_ptr, UINT memory_size,
86 CHAR *volume_name, UINT number_of_fats, UINT directory_entries, UINT hidden_sectors,
87 ULONG total_sectors, UINT bytes_per_sector, UINT sectors_per_cluster,
88 UINT heads, UINT sectors_per_track)
89 {
90
91 UINT status;
92
93
94 /* Check for invalid input pointers. */
95
6/6
✓ Branch 2 → 3 taken 54528 times.
✓ Branch 2 → 5 taken 8 times.
✓ Branch 3 → 4 taken 53838 times.
✓ Branch 3 → 5 taken 690 times.
✓ Branch 4 → 5 taken 690 times.
✓ Branch 4 → 6 taken 53148 times.
54536 if ((media_ptr == FX_NULL) || (driver == FX_NULL) || (memory_ptr == FX_NULL))
96 {
97 1388 return(FX_PTR_ERROR);
98 }
99
100 /* Check for a valid caller. */
101
6/6
✓ Branch 6 → 7 taken 26928 times.
✓ Branch 6 → 9 taken 690 times.
✓ Branch 7 → 8 taken 26238 times.
✓ Branch 7 → 9 taken 690 times.
✓ Branch 8 → 9 taken 690 times.
✓ Branch 8 → 10 taken 25548 times.
27618 FX_CALLER_CHECKING_CODE
102
103 /* Call actual media format service. */
104 51078 status = _fx_media_format(media_ptr, driver, driver_info_ptr, memory_ptr, memory_size,
105 volume_name, number_of_fats, directory_entries, hidden_sectors,
106 total_sectors, bytes_per_sector, sectors_per_cluster,
107 heads, sectors_per_track);
108
109 /* Return completion status. */
110 51078 return(status);
111 }
112
113