/// <summary> /// Creates a <see cref="CalledChange"/> object. I don't reccomend using this; use /// </summary> /// <param name="calling_type">The way this called change is called.</param> /// <param name="bell_called_up">The bell (indexed from 0) which is called up.</param> /// <param name="bell_called_down">The bell (indexed from 0) which is called down.</param> /// <param name="place_called_up">The place (indexed from 0) of the bell which is called up.</param> public CalledChange(CallingType calling_type, int bell_called_up, int bell_called_down, int place_called_up) { this.calling_type = calling_type; this.bell_called_up = bell_called_up; this.bell_called_down = bell_called_down; this.place_called_up = place_called_up; }
public CTSType(string value, string source, FeatureType feature, CallingType calling, string collectionType, bool optional) { Value = value; Source = source; Feature = feature; Calling = calling; Class = null; CollectionType = collectionType; isOptional = optional; }
public void PopulateFields(AssemblyBuffer buffer) { SignatureLength = buffer.ReadByte(); CallingType = (CallingConvention)buffer.ReadByte(); if (CallingType.IsGeneric()) { //TODO: Handle generic values. buffer.ReadByte(); } byte paramCount = buffer.ReadByte(); ReturnType.PopulateFields(buffer); PopulateParameters(buffer, paramCount); }
private static void InterruptHandler(IDTStack *stack, CallingType callingMethod) { var args = new SystemMessage { Target = (SysCallTarget)stack->EAX, Arg1 = stack->EBX, Arg2 = stack->ECX, Arg3 = stack->EDX, Arg4 = stack->ESI, Arg5 = stack->EDI, Arg6 = stack->EBP, }; var commandNum = GetCommandNum(args.Target); if (KConfig.Log.SysCall) { KernelMessage.WriteLine("Got SysCall cmd={0} arg1={1} arg2={2} arg3={3} arg4={4} arg5={5} arg6={6}", (uint)args.Target, args.Arg1, args.Arg2, args.Arg3, args.Arg4, args.Arg5, args.Arg6); } Scheduler.SaveThreadState(Scheduler.GetCurrentThread().ThreadID, (IntPtr)stack); var info = Commands[commandNum]; if (info == null) { Panic.Error("Undefined SysCall"); } var ctx = new SysCallContext { CallingType = callingMethod, }; stack->EAX = info.Handler(&ctx, &args); }
public CallingDetail(int destinationAddress, int sourceAddress, CallingType callType) { DestinationAddress = destinationAddress; SourceAddress = sourceAddress; CallType = callType; }