return NT_STATUS_FOOBAR;
}
-static int smbsrv_trans_partial_destructor(struct smbsrv_trans_partial *tp)
+int smbsrv_trans_partial_destructor(struct smbsrv_trans_partial *tp)
{
DLIST_REMOVE(tp->req->smb_conn->trans_partial, tp);
return 0;
tp = talloc(req, struct smbsrv_trans_partial);
tp->req = req;
- tp->trans = trans;
+ tp->u.trans = trans;
tp->command = command;
DLIST_ADD(req->smb_conn->trans_partial, tp);
return;
}
- trans = tp->trans;
+ trans = tp->u.trans;
param_total = SVAL(req->in.vwv, VWV(0));
data_total = SVAL(req->in.vwv, VWV(1));
struct smbsrv_trans_partial {
struct smbsrv_trans_partial *next, *prev;
struct smbsrv_request *req;
- struct smb_trans2 *trans;
uint8_t command;
+ union {
+ struct smb_trans2 *trans;
+ struct smb_nttrans *nttrans;
+ } u;
} *trans_partial;
/* configuration parameters */