Skip to content

Commit

Permalink
[BOX32][WRAPPER] Add some minimum 32bits gnutls wrapping (helps wine)
Browse files Browse the repository at this point in the history
  • Loading branch information
ptitSeb committed Jan 26, 2025
1 parent 8192564 commit c566ba9
Show file tree
Hide file tree
Showing 12 changed files with 2,071 additions and 0 deletions.
1 change: 1 addition & 0 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -849,6 +849,7 @@ if(BOX32)
"${BOX64_ROOT}/src/wrapped32/wrappedudev0.c"
"${BOX64_ROOT}/src/wrapped32/wrappedudev1.c"
"${BOX64_ROOT}/src/wrapped32/wrappedlibuuid.c"
"${BOX64_ROOT}/src/wrapped32/wrappedgnutls.c"
"${BOX64_ROOT}/src/wrapped32/wrappedtcmallocminimal.c"
"${BOX64_ROOT}/src/wrapped32/wrappedcairo.c"
"${BOX64_ROOT}/src/wrapped32/wrappedlibdrm.c"
Expand Down
2 changes: 2 additions & 0 deletions src/library_list_32.h
Original file line number Diff line number Diff line change
Expand Up @@ -67,6 +67,8 @@ GO("libxcb.so", libxcb)
GO("libxcb-res.so.0", libxcbres)
GO("libxcb-res.so", libxcbres)

GO("libgnutls.so", gnutls)
GO("libgnutls.so.30", gnutls)
GO("libopenal.so.1", openal)
GO("libopenal.so.0", openal)
GO("libopenal.so", openal)
Expand Down
27 changes: 27 additions & 0 deletions src/wrapped32/generated/converter32.c
Original file line number Diff line number Diff line change
Expand Up @@ -346,6 +346,21 @@ void to_struct_Ldd(ptr_t d, const struct_Ldd_t *src) {
*(double*)dest = src->d1; dest += 8;
*(double*)dest = src->d2; dest += 8;
}

void from_struct_upu(struct_upu_t *dest, ptr_t s) {
uint8_t* src = (uint8_t*)from_ptrv(s);
dest->u0 = *(uint32_t*)src; src += 4;
dest->p1 = *(void**)src; src += 4;
dest->u2 = *(uint32_t*)src; src += 4;
}
void to_struct_upu(ptr_t d, const struct_upu_t *src) {
if (!src) return;
uint8_t* dest = (uint8_t*)from_ptrv(d);
*(uint32_t*)dest = src->u0; dest += 4;
*(ptr_t*)dest = to_ptrv(src->p1); dest += 4;
*(uint32_t*)dest = src->u2; dest += 4;
}

void from_struct_LWWWcc(struct_LWWWcc_t *dest, ptr_t s) {
uint8_t* src = (uint8_t*)from_ptrv(s);
dest->L0 = from_ulong(*(uint32_t*)src); src += 4;
Expand Down Expand Up @@ -525,6 +540,18 @@ void to_struct_pp(ptr_t d, const struct_pp_t *src) {
*(ptr_t*)dest = to_ptrv(src->p1); dest += 4;
}

void from_struct_pu(struct_pu_t *dest, ptr_t s) {
uint8_t* src = (uint8_t*)from_ptrv(s);
dest->p0 = from_ptrv(*(ptr_t*)src); src += 4;
dest->u1 = *(uint32_t*)src; src += 4;
}
void to_struct_pu(ptr_t d, const struct_pu_t *src) {
if (!src) return;
uint8_t* dest = (uint8_t*)from_ptrv(d);
*(ptr_t*)dest = to_ptrv(src->p0); dest += 4;
*(uint32_t*)dest = src->u1; dest += 4;
}

void from_struct_ppi(struct_ppi_t *dest, ptr_t s) {
uint8_t* src = (uint8_t*)from_ptrv(s);
dest->p0 = from_ptrv(*(ptr_t*)src); src += 4;
Expand Down
13 changes: 13 additions & 0 deletions src/wrapped32/generated/converter32.h
Original file line number Diff line number Diff line change
Expand Up @@ -174,6 +174,13 @@ typedef struct struct_Ldd_s {
} struct_Ldd_t;
void from_struct_Ldd(struct_Ldd_t *dest, ptr_t src);
void to_struct_Ldd(ptr_t dest, const struct_Ldd_t *src);
typedef struct struct_upu_s {
uint32_t u0;
void* p1;
uint32_t u2;
} struct_upu_t;
void from_struct_upu(struct_upu_t *dest, ptr_t src);
void to_struct_upu(ptr_t dest, const struct_upu_t *src);
typedef struct struct_LWWWcc_s {
unsigned long L0;
unsigned short W1;
Expand Down Expand Up @@ -270,6 +277,12 @@ typedef struct struct_pp_s {
} struct_pp_t;
void from_struct_pp(struct_pp_t *dest, ptr_t src);
void to_struct_pp(ptr_t dest, const struct_pp_t *src);
typedef struct struct_pu_s {
void* p0;
uint32_t u1;
} struct_pu_t;
void from_struct_pu(struct_pu_t *dest, ptr_t src);
void to_struct_pu(ptr_t dest, const struct_pu_t *src);
typedef struct struct_ppi_s {
void* p0;
void* p1;
Expand Down
Loading

0 comments on commit c566ba9

Please sign in to comment.