VirtualBox

source: vbox/trunk/src/VBox/Additions/linux/drm/indent.sed@ 69564

Last change on this file since 69564 was 69138, checked in by vboxsync, 7 years ago

Additions/linux/drm: fix source transformation script for DOS line endings.
bugref:8524: Additions/linux: play nicely with distribution-installed

Our script for transforming vboxvideo code from our coding style to the
kernel one matched on end-of-line markers but did not take into account
that there might be DOS-style Ctrl-M characters before them. This change
drops matching end-of-line altogether except in one harmless case.

  • Property svn:eol-style set to LF
  • Property svn:keywords set to Author Date Id Revision
File size: 9.3 KB
Line 
1# Oracle VM VirtualBox
2# VirtualBox to Linux kernel coding style conversion script.
3
4#
5# Copyright (C) 2017 Oracle Corporation
6#
7# This file is part of VirtualBox Open Source Edition (OSE), as
8# available from http://www.virtualbox.org. This file is free software;
9# you can redistribute it and/or modify it under the terms of the GNU
10# General Public License (GPL) as published by the Free Software
11# Foundation, in version 2 as it comes in the "COPYING" file of the
12# VirtualBox OSE distribution. VirtualBox OSE is distributed in the
13# hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
14#
15
16# This script is for converting code inside the vboxvideo module to Linux
17# kernel coding style. It assumes correct VirtualBox coding style, will break
18# break if the coding style is wrong (e.g. tab instead of spaces) and is not
19# indended to be a generic solution: for example, identifiers will be
20# translated case by case, not algorithmically. It also assumes that any
21# flexibility in either coding style will be used where possible to make the
22# code conform to both at once.
23
24# Replace up to six leading groups of four spaces with tabs.
25s/^ */\t\t\t\t\t\t/g
26s/^ /\t\t\t\t\t/g
27s/^ /\t\t\t\t/g
28s/^ /\t\t\t/g
29s/^ /\t\t/g
30s/^ /\t/g
31
32# Change various symbols and file names to fit kernel conventions.
33
34# Miscellaneous:
35# Remove @file headers.
36\|/\*\* @file| {
37:start
38 N
39 s|\*/|\*/|g
40 T start
41 N
42 d
43}
44/^\/\* \$Id:.*\*\/$/d
45/^typedef .* HGSMIOFFSET;/d
46/^typedef .* HGSMISIZE;/d
47s/^#\( *\)include <\([^/]*\)>/#\1include "\2"/g
48
49# File names:
50s/\bHGSMIBase\.h\b/vbox_drv.h/g
51s/\bHGSMIChannels\.h\b/hgsmi_channels.h/g
52s/\bHGSMIChSetup\.h\b/hgsmi_ch_setup.h/g
53s/\bHGSMIContext\.h\b/hgsmi_context.h/g
54s/\bHGSMIDefs\.h\b/hgsmi_defs.h/g
55s/\bVBoxVideoGuest\.h\b/vboxvideo_guest.h/g
56s/\bVBoxVideo\.h\b/vboxvideo.h/g
57s/\bVBoxVideoIPRT\.h\b/vbox_err.h/g
58s/\bVBoxVideoVBE\.h\b/vboxvideo_vbe.h/g
59
60# Function names:
61s/\btestQueryConf\b/hgsmi_test_query_conf/g
62s/\bVBoxHGSMIBufferAlloc\b/hgsmi_buffer_alloc/g
63s/\bVBoxHGSMIBufferFree\b/hgsmi_buffer_free/g
64s/\bVBoxHGSMIBufferSubmit\b/hgsmi_buffer_submit/g
65s/\bVBoxHGSMICursorPosition\b/hgsmi_cursor_position/g
66s/\bVBoxHGSMIGetModeHints\b/hgsmi_get_mode_hints/g
67s/\bVBoxHGSMIProcessDisplayInfo\b/hgsmi_process_display_info/g
68s/\bVBoxHGSMIReportFlagsLocation\b/hgsmi_report_flags_location/g
69s/\bVBoxHGSMISendCapsInfo\b/hgsmi_send_caps_info/g
70s/\bVBoxHGSMIUpdateInputMapping\b/hgsmi_update_input_mapping/g
71s/\bVBoxHGSMIUpdatePointerShape\b/hgsmi_update_pointer_shape/g
72s/\bvboxHwBufferAvail\b/vbva_buffer_available/g
73s/\bvboxHwBufferEndUpdate\b/vbva_buffer_end_update/g
74s/\bvboxHwBufferFlush\b/vbva_buffer_flush/g
75s/\bvboxHwBufferPlaceDataAt\b/vbva_buffer_place_data_at/g
76s/\bvboxHwBufferWrite\b/vbva_write/g
77s/\bVBoxQueryConfHGSMI\b/hgsmi_query_conf/g
78s/\bVBoxVBVABufferBeginUpdate\b/vbva_buffer_begin_update/g
79s/\bVBoxVBVABufferEndUpdate\b/vbva_buffer_end_update/g
80s/\bVBoxVBVADisable\b/vbva_disable/g
81s/\bVBoxVBVAEnable\b/vbva_enable/g
82s/\bvboxVBVAInformHost\b/vbva_inform_host/g
83s/\bvboxVBVASetupBufferContext\b/vbva_setup_buffer_context/g
84s/\bVBVO_PORT_READ_U8\b/inb/g
85s/\bVBVO_PORT_READ_U16\b/inw/g
86s/\bVBVO_PORT_READ_U32\b/inl/g
87s/\bVBVO_PORT_WRITE_U8\b *( *\(\b[^(),]*\b\) *, *\(\b[^(),]*\b\) *)/outb(\2, \1)/g
88s/\bVBVO_PORT_WRITE_U16\b *( *\(\b[^(),]*\b\) *, *\(\b[^(),]*\b\) *)/outw(\2, \1)/g
89s/\bVBVO_PORT_WRITE_U32\b *( *\(\b[^(),]*\b\) *, *\(\b[^(),]*\b\) *)/outl(\2, \1)/g
90s/\bVBVO_PORT_WRITE_U[0-9]*\b/VBVO_PORT_WRITE_statement_should_be_on_one_line/g
91
92# Macros:
93s/\b_1K\b/1024/g
94s/\b_4M\b/4*1024*1024/g
95s/\bAssert\b\([^;]*\);/WARN_ON_ONCE(!(\1));/g
96s/\bAssertCompile\b/assert_compile/g
97s/\bAssertCompileSize\b/assert_compile_size/g
98s/\bAssertPtr\b\([^;]*\);/WARN_ON_ONCE(!(\1));/g
99/AssertPtrNullReturnVoid/d
100s/\bAssertRC\b\([^;]*\);/WARN_ON_ONCE(RT_FAILURE\1);/g
101s/\bAssertRC\b/Assert_RC_statement_should_be_on_one_line/g
102s/\bDECLCALLBACK\b(\([^)]*\))/\1/g
103s/\bDECLCALLBACKMEMBER\b(\([^,)]*\), *\([^,)]*\))/\1 (*\2)/g
104s/^\bDECLHIDDEN\b(\([^)]*\))/\1/g
105s/\bDECLINLINE\b(\([^)]*\))/static inline \1/g
106s/\bRT_BIT\b/BIT/g
107s/\bRT_BOOL\b(\([^)]*\))/(!!(\1))/g
108/RT_C_DECLS/d
109s/\bUINT16_MAX\b/U16_MAX/g
110s/\bUINT32_MAX\b/U32_MAX/g
111s/\bUINT32_C\b(\(.*\))/\1u/g
112s/!VALID_PTR(/WARN_ON(!/g
113
114# Type names:
115s/\bint32_t\b/s32/g
116s/\buint8_t\b/u8/g
117s/\buint16_t\b/u16/g
118s/\buint32_t\b/u32/g
119s/(HGSMIBUFFERLOCATION \*)//g # Remove C++ casts from void.
120s/typedef struct HGSMIBUFFERLOCATION/struct hgsmi_buffer_location/g
121s/struct HGSMIBUFFERLOCATION/struct hgsmi_buffer_location/g
122s/} HGSMIBUFFERLOCATION/}/g
123s/\bHGSMIBUFFERLOCATION\b/struct hgsmi_buffer_location/g
124s/\([^*] *\)\bPHGSMIGUESTCOMMANDCONTEXT\b/\1struct gen_pool */g
125s/(HGSMIHOSTFLAGS \*)//g # Remove C++ casts from void.
126s/typedef struct HGSMIHOSTFLAGS/struct hgsmi_host_flags/g
127s/struct HGSMIHOSTFLAGS/struct hgsmi_host_flags/g
128s/} HGSMIHOSTFLAGS/}/g
129s/\bHGSMIHOSTFLAGS\b/struct hgsmi_host_flags/g
130s/\bHGSMIOFFSET\b/u32/g
131s/\bHGSMISIZE\b/u32/g
132s/\bRTRECT\b/void/g
133s/(VBVABUFFERCONTEXT \*)//g # Remove C++ casts from void.
134s/struct VBVABUFFERCONTEXT/struct vbva_buf_context/g
135s/} VBVABUFFERCONTEXT/} vbva_buf_context/g
136s/\bVBVABUFFERCONTEXT\b/struct vbva_buf_context/g
137s/\([^*] *\)\bPVBVABUFFERCONTEXT\b/\1struct vbva_buf_context */g
138s/(VBVACAPS \*)//g # Remove C++ casts from void.
139s/struct VBVACAPS/struct vbva_caps/g
140s/} VBVACAPS/} vbva_caps/g
141s/\bVBVACAPS\b/struct vbva_caps/g
142s/(VBVACONF32 \*)//g # Remove C++ casts from void.
143s/struct VBVACONF32/struct vbva_conf32/g
144s/} VBVACONF32/} vbva_conf32/g
145s/\bVBVACONF32\b/struct vbva_conf32/g
146s/(VBVACURSORPOSITION \*)//g # Remove C++ casts from void.
147s/struct VBVACURSORPOSITION/struct vbva_cursor_position/g
148s/} VBVACURSORPOSITION/} vbva_cursor_position/g
149s/\bVBVACURSORPOSITION\b/struct vbva_cursor_position/g
150s/(VBVAENABLE_EX \*)//g # Remove C++ casts from void.
151s/struct VBVAENABLE_EX/struct vbva_enable_ex/g
152s/} VBVAENABLE_EX/} vbva_enable_ex/g
153s/\bVBVAENABLE_EX\b/struct vbva_enable_ex/g
154s/(VBVAMOUSEPOINTERSHAPE \*)//g # Remove C++ casts from void.
155s/struct VBVAMOUSEPOINTERSHAPE/struct vbva_mouse_pointer_shape/g
156s/} VBVAMOUSEPOINTERSHAPE/} vbva_mouse_pointer_shape/g
157s/\bVBVAMOUSEPOINTERSHAPE\b/struct vbva_mouse_pointer_shape/g
158s/(VBVAMODEHINT \*)//g # Remove C++ casts from void.
159s/struct VBVAMODEHINT/struct vbva_modehint/g
160s/} VBVAMODEHINT/} vbva_modehint/g
161s/\bVBVAMODEHINT\b/struct vbva_modehint/g
162s/(VBVAQUERYMODEHINTS \*)//g # Remove C++ casts from void.
163s/struct VBVAQUERYMODEHINTS/struct vbva_query_mode_hints/g
164s/} VBVAQUERYMODEHINTS/} vbva_query_mode_hints/g
165s/\bVBVAQUERYMODEHINTS\b/struct vbva_query_mode_hints/g
166s/(VBVAREPORTINPUTMAPPING \*)//g # Remove C++ casts from void.
167s/struct VBVAREPORTINPUTMAPPING/struct vbva_report_input_mapping/g
168s/} VBVAREPORTINPUTMAPPING/} vbva_report_input_mapping/g
169s/\bVBVAREPORTINPUTMAPPING\b/struct vbva_report_input_mapping/g
170
171# Variable and parameter names:
172s/\baRecords\b/records/g
173s/\bau8Data\b/data/g
174s/\bau32Reserved\b/reserved/g
175s/\bBase\b/base/g
176s/\bbEnable\b/enable/g
177s/\bbRc\b/ret/g
178s/\bcb\b/len/g
179s/\bcbBuffer\b/buffer_length/g
180s/\bcbChunk\b/chunk/g
181s/\bcbData\b/data_len/g
182s/\bcbHintsStructureGuest\b/hints_structure_guest_size/g
183s/\bcbHwBufferAvail\b/available/g
184s/\bcbLength\b/len/g
185s/\bcbLocation\b/buf_len/g
186s/\bcbPartialWriteThreshold\b/partial_write_tresh/g ## @todo fix this?
187s/\bcbPitch\b/pitch/g
188s/\bcbPixels\b/pixel_len/g
189s/\bcBPP\b/bpp/g
190s/\bcbRecord\b/len_and_flags/g ## @todo fix this?
191s/\bcDisplay\b/display/g
192s/\bcHeight\b/height/g
193s/\bcHintsQueried\b/hints_queried_count/g
194s/\bcHotX\b/hot_x/g
195s/\bcHotY\b/hot_y/g
196s/\bcOriginX\b/origin_x/g
197s/\bcOriginY\b/origin_y/g
198s/\bcScreen\b/screen/g
199s/\bcScreens\b/screens/g
200s/\bcWidth\b/width/g
201s/\bfCaps\b/caps/g
202s/\bfFlags\b/flags/g
203s/\bfHwBufferOverflow\b/buffer_overflow/g
204s/\bfReportPosition\b/report_position/g
205s/\bfu32Flags\b/flags/g
206s/\bhostFlags\b/host_flags/g
207s/\bi32Diff\b/diff/g
208s/\bi32OriginX\b/origin_x/g
209s/\bi32OriginY\b/origin_y/g
210s/\bi32Result\b/result/g
211s/\bindexRecordFirst\b/first_record_index/g
212s/\bindexRecordFree\b/free_record_index/g
213s/\bindexRecordNext\b/next/g
214s/\boff32Data\b/data_offset/g
215s/\boff32Free\b/free_offset/g
216s/\boffLocation\b/location/g
217s/\boffStart\b/start_offset/g
218s/\boffVRAMBuffer\b/buffer_offset/g
219s/\bpaHints\b/hints/g
220s/\bpCtx\b/ctx/g
221s/\bpPixels\b/pixels/g
222s/\bpRecord\b/record/g
223s/\bpulValue\b/value_ret/g
224s/\bpVBVA\b/vbva/g
225s/\bpxHost\b/x_host/g
226s/\bpyHost\b/y_host/g
227s/\bu16BitsPerPixel\b/bits_per_pixel/g
228s/\bu16Flags\b/flags/g
229s/\bu32BytesTillBoundary\b/bytes_till_boundary/g
230s/\bu32Flags\b/flags/g
231s/\bu32Height\b/height/g
232s/\bu32HostEvents\b/host_events/g
233s/\bu32HostFlags\b/host_flags/g
234s/\bu32HotX\b/hot_x/g
235s/\bu32HotY\b/hot_y/g
236s/\bu32Index\b/index/g
237s/\bu32LineSize\b/line_size/g
238s/\bu32Offset\b/offset/g
239s/\bu32Reserved\b/reserved/g
240s/\bu32ScreenId\b/screen_id/g
241s/\bu32StartOffset\b/start_offset/g
242s/\bu32SupportedOrders\b/supported_orders/g
243s/\bu32Value\b/value/g
244s/\bu32ViewIndex\b/view_index/g
245s/\bu32Width\b/width/g
246s/\bulValue\b/value/g
247
248# Header file guard:
249s/__HGSMIChannels_h__/__HGSMI_CHANNELS_H__/g
250s/___VBox_Graphics_HGSMIChSetup_h/__HGSMI_CH_SETUP_H__/g
251
252# And move braces. This must be the last expression as it jumps to the next
253# line.
254/..*$/ {
255 N
256 s/^\([\t ][\t ]*\)} *\n[\t ]*else/\1} else/g
257 t continue_else
258 b try_brace
259:continue_else
260 N
261:try_brace
262 s/^\([\t ].*\)\n[\t ][\t ]*{/\1 {/g
263 s/^\([^#()]*\)\n[\t ]*{/\1 {/g
264 t done_brace
265 P
266 D
267:done_brace
268 p
269 d
270}
Note: See TracBrowser for help on using the repository browser.

© 2023 Oracle
ContactPrivacy policyTerms of Use