Skip to content

Commit

Permalink
Forgot to adjust regards windows_61.
Browse files Browse the repository at this point in the history
  • Loading branch information
MarekKnapek committed Jun 1, 2024
1 parent a63c1e9 commit 9b94812
Show file tree
Hide file tree
Showing 15 changed files with 177 additions and 130 deletions.
2 changes: 1 addition & 1 deletion mk_clib/src/mk_lib_mt_cv.c
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
#include "mk_lib_mt_unique_lock.h"


#if mk_lang_platform == mk_lang_platform_windows_60
#if mk_lang_platform == mk_lang_platform_windows_61 || mk_lang_platform == mk_lang_platform_windows_60
#include "mk_lib_mt_cv_windows_srwl.h"
#define mk_lib_mt_cv_impl_construct mk_lib_mt_cv_windows_srwl_construct
#define mk_lib_mt_cv_impl_destruct mk_lib_mt_cv_windows_srwl_destruct
Expand Down
2 changes: 1 addition & 1 deletion mk_clib/src/mk_lib_mt_cv.h
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
#include "mk_lib_mt_unique_lock.h"


#if mk_lang_platform == mk_lang_platform_windows_60
#if mk_lang_platform == mk_lang_platform_windows_61 || mk_lang_platform == mk_lang_platform_windows_60
#include "mk_lib_mt_cv_windows_srwl.h"
typedef mk_lib_mt_cv_windows_srwl_t mk_lib_mt_cv_impl_t;
#elif mk_lang_platform == mk_lang_platform_windows
Expand Down
2 changes: 1 addition & 1 deletion mk_clib/src/mk_lib_mt_mutex.c
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
#include "mk_lang_version.h"


#if mk_lang_platform == mk_lang_platform_windows_60
#if mk_lang_platform == mk_lang_platform_windows_61 || mk_lang_platform == mk_lang_platform_windows_60
#include "mk_lib_mt_mutex_windows_srwl.h"
#define mk_lib_mt_mutex_impl_construct mk_lib_mt_mutex_windows_srwl_construct
#define mk_lib_mt_mutex_impl_destruct mk_lib_mt_mutex_windows_srwl_destruct
Expand Down
2 changes: 1 addition & 1 deletion mk_clib/src/mk_lib_mt_mutex.h
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
#include "mk_lang_version.h"


#if mk_lang_platform == mk_lang_platform_windows_60
#if mk_lang_platform == mk_lang_platform_windows_61 || mk_lang_platform == mk_lang_platform_windows_60
#include "mk_lib_mt_mutex_windows_srwl.h"
typedef mk_lib_mt_mutex_windows_srwl_t mk_lib_mt_mutex_impl_t;
#elif mk_lang_platform == mk_lang_platform_windows
Expand Down
2 changes: 1 addition & 1 deletion mk_clib/src/mk_lib_mt_unique_lock.c
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
#include "mk_lib_mt_mutex.h"


#if mk_lang_platform == mk_lang_platform_windows_60
#if mk_lang_platform == mk_lang_platform_windows_61 || mk_lang_platform == mk_lang_platform_windows_60
#include "mk_lib_mt_unique_lock_windows_srwl.h"
#define mk_lib_mt_unique_lock_exclusive_impl_construct mk_lib_mt_unique_lock_exclusive_windows_srwl_construct
#define mk_lib_mt_unique_lock_exclusive_impl_destruct mk_lib_mt_unique_lock_exclusive_windows_srwl_destruct
Expand Down
2 changes: 1 addition & 1 deletion mk_clib/src/mk_lib_mt_unique_lock.h
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
#include "mk_lib_mt_mutex.h"


#if mk_lang_platform == mk_lang_platform_windows_60
#if mk_lang_platform == mk_lang_platform_windows_61 || mk_lang_platform == mk_lang_platform_windows_60
#include "mk_lib_mt_unique_lock_windows_srwl.h"
typedef mk_lib_mt_unique_lock_exclusive_windows_srwl_t mk_lib_mt_unique_lock_exclusive_impl_t;
typedef mk_lib_mt_unique_lock_shared_windows_srwl_t mk_lib_mt_unique_lock_shared_impl_t;
Expand Down
2 changes: 1 addition & 1 deletion mk_clib/src/mk_sl_io_console_windows.c
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
#include "mk_win_kernel_console.h"


#if mk_lang_platform == mk_lang_platform_windows
#if mk_lang_platform == mk_lang_platform_windows_61 || mk_lang_platform == mk_lang_platform_windows_60 || mk_lang_platform == mk_lang_platform_windows


mk_lang_nodiscard mk_lang_jumbo mk_lang_types_sint_t mk_sl_io_console_windows_write_n(mk_sl_cui_uint8_pct const buf, mk_lang_types_sint_t const len) mk_lang_noexcept
Expand Down
2 changes: 1 addition & 1 deletion mk_clib/src/mk_sl_io_reader_file.c
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
#include "mk_sl_uint8.h"


#if mk_lang_platform == mk_lang_platform_windows
#if mk_lang_platform == mk_lang_platform_windows_61 || mk_lang_platform == mk_lang_platform_windows_60 || mk_lang_platform == mk_lang_platform_windows
#include "mk_sl_io_reader_file_windows.h"
#define mk_sl_io_reader_file_impl_open_n mk_sl_io_reader_file_windows_open_n
#define mk_sl_io_reader_file_impl_open_w mk_sl_io_reader_file_windows_open_w
Expand Down
2 changes: 1 addition & 1 deletion mk_clib/src/mk_sl_io_reader_file.h
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
#include "mk_sl_uint8.h"


#if mk_lang_platform == mk_lang_platform_windows
#if mk_lang_platform == mk_lang_platform_windows_61 || mk_lang_platform == mk_lang_platform_windows_60 || mk_lang_platform == mk_lang_platform_windows
#include "mk_sl_io_reader_file_windows.h"
typedef mk_sl_io_reader_file_windows_t mk_sl_io_reader_file_handle_t;
#elif mk_lang_platform == mk_lang_platform_linux
Expand Down
120 changes: 58 additions & 62 deletions mk_clib/src/mk_sl_io_reader_file_windows.c
Original file line number Diff line number Diff line change
Expand Up @@ -10,15 +10,25 @@
#include "mk_lang_platform.h"
#include "mk_lang_restrict.h"
#include "mk_lang_types.h"
#include "mk_sl_io_transaction_windows.h"
#include "mk_sl_uint8.h"
#include "mk_win_kernel_errors.h"
#include "mk_win_kernel_files.h"
#include "mk_win_kernel_handle.h"
#include "mk_win_ktmw32_transaction.h"


#if mk_lang_platform == mk_lang_platform_windows
#if mk_lang_platform == mk_lang_platform_windows_61 || mk_lang_platform == mk_lang_platform_windows_60
#define mk_sl_io_reader_file_windows_tx_has 1
#include "mk_sl_io_transaction_windows.h"
#elif mk_lang_platform == mk_lang_platform_windows || mk_lang_platform == mk_lang_platform_linux || mk_lang_platform == mk_lang_platform_portable
#define mk_sl_io_reader_file_windows_tx_has 0
#include "mk_sl_io_transaction_portable.h"
#else
#error xxxxxxxxxx todo
#endif


#if mk_lang_platform == mk_lang_platform_windows_61 || mk_lang_platform == mk_lang_platform_windows_60 || mk_lang_platform == mk_lang_platform_windows


#define mk_sl_io_reader_file_windows_is_valid(x) ((mk_lang_types_bool_t)((x).m_data != mk_lang_null))
Expand Down Expand Up @@ -48,34 +58,70 @@ mk_lang_nodiscard mk_lang_jumbo mk_lang_types_sint_t mk_sl_io_reader_file_window
return 0;
}

mk_lang_nodiscard mk_lang_jumbo mk_lang_types_sint_t mk_sl_io_reader_file_windows_open_tx_n(mk_sl_io_reader_file_windows_pt const reader, mk_lang_types_pchar_pct const name, mk_sl_io_transaction_windows_pt const tx) mk_lang_noexcept
mk_lang_nodiscard mk_lang_jumbo mk_lang_types_sint_t mk_sl_io_reader_file_windows_open_tx_n(mk_sl_io_reader_file_windows_pt const reader, mk_lang_types_pchar_pct const name, mk_sl_io_reader_file_windows_transaction_pt const tx) mk_lang_noexcept
{
#if mk_sl_io_reader_file_windows_tx_has
mk_win_base_ushort_t mv;
mk_sl_io_reader_file_windows_handle_t handle;

mk_lang_assert(reader);
mk_lang_assert(name && name[0] != '\0');
mk_lang_assert(tx && tx->m_transaction.m_data);

mv = mk_win_ktmw32_transaction_txfs_miniversion_view_e_committed;
handle = mk_win_ktmw32_transaction_a_create_file_transacted(name, mk_win_advapi_base_right_generic_e_read, mk_win_kernel_files_share_e_read | mk_win_kernel_files_share_e_delete, mk_win_base_null, mk_win_kernel_files_create_e_open_existing, mk_win_kernel_files_flag_e_sequential_scan, mk_win_base_handle_get_null(), tx->m_transaction, &mv, mk_win_base_null); mk_lang_check_return(handle.m_data != mk_win_base_handle_invalid);
reader->m_file_handle = handle;
return 0;
if(tx->m_transaction.m_data != mk_win_base_handle_invalid)
{
mv = mk_win_ktmw32_transaction_txfs_miniversion_view_e_committed;
handle = mk_win_ktmw32_transaction_a_create_file_transacted(name, mk_win_advapi_base_right_generic_e_read, mk_win_kernel_files_share_e_read | mk_win_kernel_files_share_e_delete, mk_win_base_null, mk_win_kernel_files_create_e_open_existing, mk_win_kernel_files_flag_e_sequential_scan, mk_win_base_handle_get_null(), tx->m_transaction, &mv, mk_win_base_null); mk_lang_check_return(handle.m_data != mk_win_base_handle_invalid);
reader->m_file_handle = handle;
return 0;
}
else
{
return mk_lang_check_line;
}
#else
mk_lang_assert(reader);
mk_lang_assert(name && name[0] != '\0');
mk_lang_assert(tx);

((mk_lang_types_void_t)(reader));
((mk_lang_types_void_t)(name));
((mk_lang_types_void_t)(tx));
return mk_lang_check_line;
#endif
}

mk_lang_nodiscard mk_lang_jumbo mk_lang_types_sint_t mk_sl_io_reader_file_windows_open_tx_w(mk_sl_io_reader_file_windows_pt const reader, mk_lang_types_wchar_pct const name, mk_sl_io_transaction_windows_pt const tx) mk_lang_noexcept
mk_lang_nodiscard mk_lang_jumbo mk_lang_types_sint_t mk_sl_io_reader_file_windows_open_tx_w(mk_sl_io_reader_file_windows_pt const reader, mk_lang_types_wchar_pct const name, mk_sl_io_reader_file_windows_transaction_pt const tx) mk_lang_noexcept
{
#if mk_sl_io_reader_file_windows_tx_has
mk_win_base_ushort_t mv;
mk_sl_io_reader_file_windows_handle_t handle;

mk_lang_assert(reader);
mk_lang_assert(name && name[0] != '\0');
mk_lang_assert(tx && tx->m_transaction.m_data);

mv = mk_win_ktmw32_transaction_txfs_miniversion_view_e_committed;
handle = mk_win_ktmw32_transaction_w_create_file_transacted(name, mk_win_advapi_base_right_generic_e_read, mk_win_kernel_files_share_e_read | mk_win_kernel_files_share_e_delete, mk_win_base_null, mk_win_kernel_files_create_e_open_existing, mk_win_kernel_files_flag_e_sequential_scan, mk_win_base_handle_get_null(), tx->m_transaction, &mv, mk_win_base_null); mk_lang_check_return(handle.m_data != mk_win_base_handle_invalid);
reader->m_file_handle = handle;
return 0;
if(tx->m_transaction.m_data != mk_win_base_handle_invalid)
{
mv = mk_win_ktmw32_transaction_txfs_miniversion_view_e_committed;
handle = mk_win_ktmw32_transaction_w_create_file_transacted(name, mk_win_advapi_base_right_generic_e_read, mk_win_kernel_files_share_e_read | mk_win_kernel_files_share_e_delete, mk_win_base_null, mk_win_kernel_files_create_e_open_existing, mk_win_kernel_files_flag_e_sequential_scan, mk_win_base_handle_get_null(), tx->m_transaction, &mv, mk_win_base_null); mk_lang_check_return(handle.m_data != mk_win_base_handle_invalid);
reader->m_file_handle = handle;
return 0;
}
else
{
return mk_lang_check_line;
}
#else
mk_lang_assert(reader);
mk_lang_assert(name && name[0] != '\0');
mk_lang_assert(tx);

((mk_lang_types_void_t)(reader));
((mk_lang_types_void_t)(name));
((mk_lang_types_void_t)(tx));
return mk_lang_check_line;
#endif
}

mk_lang_nodiscard mk_lang_jumbo mk_lang_types_sint_t mk_sl_io_reader_file_windows_read(mk_sl_io_reader_file_windows_pt const reader, mk_sl_cui_uint8_pt const buf, mk_lang_types_usize_t const len, mk_lang_types_usize_pt const read) mk_lang_noexcept
Expand Down Expand Up @@ -118,54 +164,4 @@ mk_lang_nodiscard mk_lang_jumbo mk_lang_types_sint_t mk_sl_io_reader_file_window
}


#else


mk_lang_nodiscard mk_lang_jumbo mk_lang_types_sint_t mk_sl_io_reader_file_portable_open_n(mk_sl_io_reader_file_portable_pt const reader, mk_lang_types_pchar_pct const name) mk_lang_noexcept
{
mk_lang_assert(reader);
mk_lang_assert(name && name[0] != '\0');

mk_lang_check_return(mk_lang_false);
return 0;
}

mk_lang_nodiscard mk_lang_jumbo mk_lang_types_sint_t mk_sl_io_reader_file_portable_open_w(mk_sl_io_reader_file_portable_pt const reader, mk_lang_types_wchar_pct const name) mk_lang_noexcept
{
mk_lang_assert(reader);
mk_lang_assert(name && name[0] != L'\0');

mk_lang_check_return(mk_lang_false);
return 0;
}

mk_lang_nodiscard mk_lang_jumbo mk_lang_types_sint_t mk_sl_io_reader_file_portable_read(mk_sl_io_reader_file_portable_pt const reader, mk_sl_cui_uint8_pt const buf, mk_lang_types_usize_t const len, mk_lang_types_usize_pt const read) mk_lang_noexcept
{
mk_lang_assert(reader);
mk_lang_assert(buf);
mk_lang_assert(len >= 1);
mk_lang_assert(read);

mk_lang_check_return(mk_lang_false);
return 0;
}

mk_lang_nodiscard mk_lang_jumbo mk_lang_types_sint_t mk_sl_io_reader_file_portable_seek_rel(mk_sl_io_reader_file_portable_pt const reader, mk_lang_types_slong_t const offset) mk_lang_noexcept
{
mk_lang_assert(reader);
mk_lang_assert(offset != 0);

mk_lang_check_return(mk_lang_false);
return 0;
}

mk_lang_nodiscard mk_lang_jumbo mk_lang_types_sint_t mk_sl_io_reader_file_portable_close(mk_sl_io_reader_file_portable_pt const reader) mk_lang_noexcept
{
mk_lang_assert(reader);

mk_lang_check_return(mk_lang_false);
return 0;
}


#endif
27 changes: 25 additions & 2 deletions mk_clib/src/mk_sl_io_reader_file_windows.h
Original file line number Diff line number Diff line change
Expand Up @@ -5,13 +5,36 @@
#include "mk_lang_jumbo.h"
#include "mk_lang_nodiscard.h"
#include "mk_lang_noexcept.h"
#include "mk_lang_platform.h"
#include "mk_lang_restrict.h"
#include "mk_lang_types.h"
#include "mk_sl_io_transaction_windows.h"
#include "mk_sl_uint8.h"
#include "mk_win_kernel_files.h"


#if mk_lang_platform == mk_lang_platform_windows_61 || mk_lang_platform == mk_lang_platform_windows_60
struct mk_sl_io_transaction_windows_s;
typedef struct mk_sl_io_transaction_windows_s mk_sl_io_transaction_windows_t;
typedef mk_sl_io_transaction_windows_t const mk_sl_io_transaction_windows_ct;
typedef mk_sl_io_transaction_windows_t* mk_sl_io_transaction_windows_pt;
typedef mk_sl_io_transaction_windows_t const* mk_sl_io_transaction_windows_pct;
typedef mk_sl_io_transaction_windows_t mk_sl_io_reader_file_windows_transaction_t;
#elif mk_lang_platform == mk_lang_platform_windows || mk_lang_platform == mk_lang_platform_linux || mk_lang_platform == mk_lang_platform_portable
struct mk_sl_io_transaction_portable_s;
typedef struct mk_sl_io_transaction_portable_s mk_sl_io_transaction_portable_t;
typedef mk_sl_io_transaction_portable_t const mk_sl_io_transaction_portable_ct;
typedef mk_sl_io_transaction_portable_t* mk_sl_io_transaction_portable_pt;
typedef mk_sl_io_transaction_portable_t const* mk_sl_io_transaction_portable_pct;
typedef mk_sl_io_transaction_portable_t mk_sl_io_reader_file_windows_transaction_t;
#else
#error xxxxxxxxxx todo
#endif
typedef mk_sl_io_reader_file_windows_transaction_t const mk_sl_io_reader_file_windows_transaction_ct;
typedef mk_sl_io_reader_file_windows_transaction_t* mk_sl_io_reader_file_windows_transaction_pt;
typedef mk_sl_io_reader_file_windows_transaction_t const* mk_sl_io_reader_file_windows_transaction_pct;


typedef mk_win_base_handle_t mk_sl_io_reader_file_windows_handle_t;

struct mk_sl_io_reader_file_windows_s
Expand All @@ -28,8 +51,8 @@ typedef mk_sl_io_reader_file_windows_t const* mk_lang_restrict mk_sl_io_reader_f

mk_lang_nodiscard mk_lang_jumbo mk_lang_types_sint_t mk_sl_io_reader_file_windows_open_n(mk_sl_io_reader_file_windows_pt const reader, mk_lang_types_pchar_pct const name) mk_lang_noexcept;
mk_lang_nodiscard mk_lang_jumbo mk_lang_types_sint_t mk_sl_io_reader_file_windows_open_w(mk_sl_io_reader_file_windows_pt const reader, mk_lang_types_wchar_pct const name) mk_lang_noexcept;
mk_lang_nodiscard mk_lang_jumbo mk_lang_types_sint_t mk_sl_io_reader_file_windows_open_tx_n(mk_sl_io_reader_file_windows_pt const reader, mk_lang_types_pchar_pct const name, mk_sl_io_transaction_windows_pt const tx) mk_lang_noexcept;
mk_lang_nodiscard mk_lang_jumbo mk_lang_types_sint_t mk_sl_io_reader_file_windows_open_tx_w(mk_sl_io_reader_file_windows_pt const reader, mk_lang_types_wchar_pct const name, mk_sl_io_transaction_windows_pt const tx) mk_lang_noexcept;
mk_lang_nodiscard mk_lang_jumbo mk_lang_types_sint_t mk_sl_io_reader_file_windows_open_tx_n(mk_sl_io_reader_file_windows_pt const reader, mk_lang_types_pchar_pct const name, mk_sl_io_reader_file_windows_transaction_pt const tx) mk_lang_noexcept;
mk_lang_nodiscard mk_lang_jumbo mk_lang_types_sint_t mk_sl_io_reader_file_windows_open_tx_w(mk_sl_io_reader_file_windows_pt const reader, mk_lang_types_wchar_pct const name, mk_sl_io_reader_file_windows_transaction_pt const tx) mk_lang_noexcept;
mk_lang_nodiscard mk_lang_jumbo mk_lang_types_sint_t mk_sl_io_reader_file_windows_read(mk_sl_io_reader_file_windows_pt const reader, mk_sl_cui_uint8_pt const buf, mk_lang_types_usize_t const len, mk_lang_types_usize_pt const read) mk_lang_noexcept;
mk_lang_nodiscard mk_lang_jumbo mk_lang_types_sint_t mk_sl_io_reader_file_windows_seek_rel(mk_sl_io_reader_file_windows_pt const reader, mk_lang_types_slong_t const offset) mk_lang_noexcept;
mk_lang_nodiscard mk_lang_jumbo mk_lang_types_sint_t mk_sl_io_reader_file_windows_close(mk_sl_io_reader_file_windows_pt const reader) mk_lang_noexcept;
Expand Down
2 changes: 1 addition & 1 deletion mk_clib/src/mk_sl_io_writer_file.c
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
#include "mk_sl_uint8.h"


#if mk_lang_platform == mk_lang_platform_windows
#if mk_lang_platform == mk_lang_platform_windows_61 || mk_lang_platform == mk_lang_platform_windows_60 || mk_lang_platform == mk_lang_platform_windows
#include "mk_sl_io_writer_file_windows.h"
#define mk_sl_io_writer_file_impl_open_n mk_sl_io_writer_file_windows_open_n
#define mk_sl_io_writer_file_impl_open_w mk_sl_io_writer_file_windows_open_w
Expand Down
2 changes: 1 addition & 1 deletion mk_clib/src/mk_sl_io_writer_file.h
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
#include "mk_sl_uint8.h"


#if mk_lang_platform == mk_lang_platform_windows
#if mk_lang_platform == mk_lang_platform_windows_61 || mk_lang_platform == mk_lang_platform_windows_60 || mk_lang_platform == mk_lang_platform_windows
#include "mk_sl_io_writer_file_windows.h"
typedef mk_sl_io_writer_file_windows_t mk_sl_io_writer_file_handle_t;
#elif mk_lang_platform == mk_lang_platform_linux
Expand Down
Loading

0 comments on commit 9b94812

Please sign in to comment.