void itesFunc( void ) { int i = 0; int sNumOfSignal = 0; uint32_t sTotalSum = 0; uint32_t sResultSum = 0; uint32_t sInputSignal = 1983; uint32_t sSignal = 0; uint32_t sPrevInput = 1983; uint32_t sPrevSignal = 0; int sResult = 0; scanf( "%d %d", &sResultSum, &sNumOfSignal ); for ( i = 1; i <= sNumOfSignal; i++ ) { sSignal = MAKE_SIGNAL( sInputSignal ); sInputSignal = MAKE_A( sInputSignal ); sTotalSum += sSignal; while( sTotalSum > sResultSum ) { sPrevSignal = MAKE_SIGNAL( sPrevInput ); sPrevInput = MAKE_A( sPrevInput ); sTotalSum -= sPrevSignal; } if ( sTotalSum == sResultSum ) { sResult+= 1; } } printf( "%d\n", sResult ); }
#define SIG_DFL_CONSTANT 0 #define SIG_IGN_CONSTANT 1 #define SIG_APP_CONSTANT 2 /* SIG_APP represents the application's handler */ #ifdef SLANG_POSIX_SIGNALS typedef sigset_t Signal_Set_Type; #else typedef int Signal_Set_Type; #endif #define MAKE_SIGNAL(sig,name) {sig,name,NULL,NULL,0,0} static Signal_Type Signal_Table [] = { #ifdef SIGHUP MAKE_SIGNAL(SIGHUP,"SIGHUP"), #endif #ifdef SIGINT MAKE_SIGNAL(SIGINT,"SIGINT"), #endif #ifdef SIGQUIT MAKE_SIGNAL(SIGQUIT,"SIGQUIT"), #endif #ifdef SIGILL MAKE_SIGNAL(SIGILL,"SIGILL"), #endif #ifdef SIGTRAP MAKE_SIGNAL(SIGTRAP,"SIGTRAP"), #endif #ifdef SIGABRT MAKE_SIGNAL(SIGABRT,"SIGABRT"),
static void ctk_event_class_init(CtkEventClass *ctk_event_class) { gint i; /* clear the signal array */ for (i = 0; i <= NV_CTRL_LAST_ATTRIBUTE; i++) signals[i] = 0; #define MAKE_SIGNAL(x) \ signals[x] = g_signal_new(("CTK_EVENT_" #x), \ G_OBJECT_CLASS_TYPE(ctk_event_class), \ G_SIGNAL_RUN_LAST, 0, NULL, NULL, \ g_cclosure_marshal_VOID__POINTER, \ G_TYPE_NONE, 1, G_TYPE_POINTER); /* create signals for all the NV-CONTROL attributes */ MAKE_SIGNAL(NV_CTRL_DIGITAL_VIBRANCE); MAKE_SIGNAL(NV_CTRL_BUS_TYPE); MAKE_SIGNAL(NV_CTRL_VIDEO_RAM); MAKE_SIGNAL(NV_CTRL_IRQ); MAKE_SIGNAL(NV_CTRL_OPERATING_SYSTEM); MAKE_SIGNAL(NV_CTRL_SYNC_TO_VBLANK); MAKE_SIGNAL(NV_CTRL_LOG_ANISO); MAKE_SIGNAL(NV_CTRL_FSAA_MODE); MAKE_SIGNAL(NV_CTRL_TEXTURE_SHARPEN); MAKE_SIGNAL(NV_CTRL_UBB); MAKE_SIGNAL(NV_CTRL_OVERLAY); MAKE_SIGNAL(NV_CTRL_STEREO); MAKE_SIGNAL(NV_CTRL_EMULATE); MAKE_SIGNAL(NV_CTRL_TWINVIEW); MAKE_SIGNAL(NV_CTRL_CONNECTED_DISPLAYS); MAKE_SIGNAL(NV_CTRL_ENABLED_DISPLAYS); MAKE_SIGNAL(NV_CTRL_FRAMELOCK); MAKE_SIGNAL(NV_CTRL_FRAMELOCK_MASTER); MAKE_SIGNAL(NV_CTRL_FRAMELOCK_POLARITY); MAKE_SIGNAL(NV_CTRL_FRAMELOCK_SYNC_DELAY); MAKE_SIGNAL(NV_CTRL_FRAMELOCK_SYNC_INTERVAL); MAKE_SIGNAL(NV_CTRL_FRAMELOCK_PORT0_STATUS); MAKE_SIGNAL(NV_CTRL_FRAMELOCK_PORT1_STATUS); MAKE_SIGNAL(NV_CTRL_FRAMELOCK_HOUSE_STATUS); MAKE_SIGNAL(NV_CTRL_FRAMELOCK_SYNC); MAKE_SIGNAL(NV_CTRL_FRAMELOCK_SYNC_READY); MAKE_SIGNAL(NV_CTRL_FRAMELOCK_TIMING); MAKE_SIGNAL(NV_CTRL_FRAMELOCK_STEREO_SYNC); MAKE_SIGNAL(NV_CTRL_FRAMELOCK_TEST_SIGNAL); MAKE_SIGNAL(NV_CTRL_FRAMELOCK_ETHERNET_DETECTED); MAKE_SIGNAL(NV_CTRL_FRAMELOCK_VIDEO_MODE); MAKE_SIGNAL(NV_CTRL_FRAMELOCK_SYNC_RATE); MAKE_SIGNAL(NV_CTRL_OPENGL_AA_LINE_GAMMA); MAKE_SIGNAL(NV_CTRL_FLIPPING_ALLOWED); MAKE_SIGNAL(NV_CTRL_FORCE_STEREO); MAKE_SIGNAL(NV_CTRL_ARCHITECTURE); MAKE_SIGNAL(NV_CTRL_TEXTURE_CLAMPING); MAKE_SIGNAL(NV_CTRL_FSAA_APPLICATION_CONTROLLED); MAKE_SIGNAL(NV_CTRL_LOG_ANISO_APPLICATION_CONTROLLED); MAKE_SIGNAL(NV_CTRL_IMAGE_SHARPENING); MAKE_SIGNAL(NV_CTRL_TV_OVERSCAN); MAKE_SIGNAL(NV_CTRL_TV_FLICKER_FILTER); MAKE_SIGNAL(NV_CTRL_TV_BRIGHTNESS); MAKE_SIGNAL(NV_CTRL_TV_HUE); MAKE_SIGNAL(NV_CTRL_TV_CONTRAST); MAKE_SIGNAL(NV_CTRL_TV_SATURATION); MAKE_SIGNAL(NV_CTRL_TV_RESET_SETTINGS); MAKE_SIGNAL(NV_CTRL_GPU_CORE_TEMPERATURE); MAKE_SIGNAL(NV_CTRL_GPU_CORE_THRESHOLD); MAKE_SIGNAL(NV_CTRL_GPU_DEFAULT_CORE_THRESHOLD); MAKE_SIGNAL(NV_CTRL_GPU_MAX_CORE_THRESHOLD); MAKE_SIGNAL(NV_CTRL_AMBIENT_TEMPERATURE); MAKE_SIGNAL(NV_CTRL_GVO_SUPPORTED); MAKE_SIGNAL(NV_CTRL_GVO_SYNC_MODE); MAKE_SIGNAL(NV_CTRL_GVO_SYNC_SOURCE); MAKE_SIGNAL(NV_CTRL_GVIO_REQUESTED_VIDEO_FORMAT); MAKE_SIGNAL(NV_CTRL_GVIO_DETECTED_VIDEO_FORMAT); MAKE_SIGNAL(NV_CTRL_GVO_DATA_FORMAT); MAKE_SIGNAL(NV_CTRL_GVO_COMPOSITE_SYNC_INPUT_DETECTED); MAKE_SIGNAL(NV_CTRL_GVO_COMPOSITE_SYNC_INPUT_DETECT_MODE); MAKE_SIGNAL(NV_CTRL_GVO_SDI_SYNC_INPUT_DETECTED); MAKE_SIGNAL(NV_CTRL_GVO_VIDEO_OUTPUTS); MAKE_SIGNAL(NV_CTRL_GVO_FIRMWARE_VERSION); MAKE_SIGNAL(NV_CTRL_GVO_SYNC_DELAY_PIXELS); MAKE_SIGNAL(NV_CTRL_GVO_SYNC_DELAY_LINES); MAKE_SIGNAL(NV_CTRL_GVO_INPUT_VIDEO_FORMAT_REACQUIRE); MAKE_SIGNAL(NV_CTRL_GVO_GLX_LOCKED); MAKE_SIGNAL(NV_CTRL_GVIO_VIDEO_FORMAT_WIDTH); MAKE_SIGNAL(NV_CTRL_GVIO_VIDEO_FORMAT_HEIGHT); MAKE_SIGNAL(NV_CTRL_GVIO_VIDEO_FORMAT_REFRESH_RATE); MAKE_SIGNAL(NV_CTRL_GPU_OVERCLOCKING_STATE); MAKE_SIGNAL(NV_CTRL_GPU_2D_CLOCK_FREQS); MAKE_SIGNAL(NV_CTRL_GPU_3D_CLOCK_FREQS); MAKE_SIGNAL(NV_CTRL_GPU_OPTIMAL_CLOCK_FREQS); MAKE_SIGNAL(NV_CTRL_GPU_OPTIMAL_CLOCK_FREQS_DETECTION_STATE); MAKE_SIGNAL(NV_CTRL_FLATPANEL_LINK); MAKE_SIGNAL(NV_CTRL_USE_HOUSE_SYNC); MAKE_SIGNAL(NV_CTRL_IMAGE_SETTINGS); MAKE_SIGNAL(NV_CTRL_XINERAMA_STEREO); MAKE_SIGNAL(NV_CTRL_BUS_RATE); MAKE_SIGNAL(NV_CTRL_SHOW_SLI_VISUAL_INDICATOR); MAKE_SIGNAL(NV_CTRL_XV_SYNC_TO_DISPLAY); MAKE_SIGNAL(NV_CTRL_GVO_OVERRIDE_HW_CSC); MAKE_SIGNAL(NV_CTRL_GVO_COMPOSITE_TERMINATION); MAKE_SIGNAL(NV_CTRL_ASSOCIATED_DISPLAY_DEVICES); MAKE_SIGNAL(NV_CTRL_FRAMELOCK_SLAVES); MAKE_SIGNAL(NV_CTRL_FRAMELOCK_MASTERABLE); MAKE_SIGNAL(NV_CTRL_PROBE_DISPLAYS); MAKE_SIGNAL(NV_CTRL_REFRESH_RATE); MAKE_SIGNAL(NV_CTRL_INITIAL_PIXMAP_PLACEMENT); MAKE_SIGNAL(NV_CTRL_GLYPH_CACHE); MAKE_SIGNAL(NV_CTRL_PCI_BUS); MAKE_SIGNAL(NV_CTRL_PCI_DEVICE); MAKE_SIGNAL(NV_CTRL_PCI_FUNCTION); MAKE_SIGNAL(NV_CTRL_FRAMELOCK_FPGA_REVISION); MAKE_SIGNAL(NV_CTRL_MAX_SCREEN_WIDTH); MAKE_SIGNAL(NV_CTRL_MAX_SCREEN_HEIGHT); MAKE_SIGNAL(NV_CTRL_MAX_DISPLAYS); MAKE_SIGNAL(NV_CTRL_MULTIGPU_DISPLAY_OWNER); MAKE_SIGNAL(NV_CTRL_GPU_SCALING); MAKE_SIGNAL(NV_CTRL_GPU_SCALING_DEFAULT_TARGET); MAKE_SIGNAL(NV_CTRL_GPU_SCALING_DEFAULT_METHOD); MAKE_SIGNAL(NV_CTRL_FRONTEND_RESOLUTION); MAKE_SIGNAL(NV_CTRL_BACKEND_RESOLUTION); MAKE_SIGNAL(NV_CTRL_FLATPANEL_NATIVE_RESOLUTION); MAKE_SIGNAL(NV_CTRL_FLATPANEL_BEST_FIT_RESOLUTION); MAKE_SIGNAL(NV_CTRL_GPU_SCALING_ACTIVE); MAKE_SIGNAL(NV_CTRL_DFP_SCALING_ACTIVE); MAKE_SIGNAL(NV_CTRL_FSAA_APPLICATION_ENHANCED); MAKE_SIGNAL(NV_CTRL_FRAMELOCK_SYNC_RATE_4); MAKE_SIGNAL(NV_CTRL_GVO_LOCK_OWNER); MAKE_SIGNAL(NV_CTRL_NUM_GPU_ERRORS_RECOVERED); MAKE_SIGNAL(NV_CTRL_REFRESH_RATE_3); MAKE_SIGNAL(NV_CTRL_GVO_OUTPUT_VIDEO_LOCKED); MAKE_SIGNAL(NV_CTRL_GVO_SYNC_LOCK_STATUS); MAKE_SIGNAL(NV_CTRL_GVO_ANC_TIME_CODE_GENERATION); MAKE_SIGNAL(NV_CTRL_GVO_COMPOSITE); MAKE_SIGNAL(NV_CTRL_GVO_COMPOSITE_ALPHA_KEY); MAKE_SIGNAL(NV_CTRL_GVO_COMPOSITE_NUM_KEY_RANGES); MAKE_SIGNAL(NV_CTRL_NOTEBOOK_DISPLAY_CHANGE_LID_EVENT); MAKE_SIGNAL(NV_CTRL_MODE_SET_EVENT); MAKE_SIGNAL(NV_CTRL_OPENGL_AA_LINE_GAMMA_VALUE); MAKE_SIGNAL(NV_CTRL_FRAMELOCK_SLAVEABLE); MAKE_SIGNAL(NV_CTRL_DISPLAYPORT_LINK_RATE); MAKE_SIGNAL(NV_CTRL_STEREO_EYES_EXCHANGE); MAKE_SIGNAL(NV_CTRL_NO_SCANOUT); MAKE_SIGNAL(NV_CTRL_GVO_CSC_CHANGED_EVENT); MAKE_SIGNAL(NV_CTRL_X_SERVER_UNIQUE_ID); MAKE_SIGNAL(NV_CTRL_PIXMAP_CACHE); MAKE_SIGNAL(NV_CTRL_PIXMAP_CACHE_ROUNDING_SIZE_KB); MAKE_SIGNAL(NV_CTRL_IS_GVO_DISPLAY); MAKE_SIGNAL(NV_CTRL_PCI_ID); MAKE_SIGNAL(NV_CTRL_GVO_FULL_RANGE_COLOR); MAKE_SIGNAL(NV_CTRL_SLI_MOSAIC_MODE_AVAILABLE); MAKE_SIGNAL(NV_CTRL_GVO_ENABLE_RGB_DATA); MAKE_SIGNAL(NV_CTRL_IMAGE_SHARPENING_DEFAULT); MAKE_SIGNAL(NV_CTRL_GVI_NUM_JACKS); MAKE_SIGNAL(NV_CTRL_GVI_MAX_LINKS_PER_STREAM); MAKE_SIGNAL(NV_CTRL_GVI_DETECTED_CHANNEL_BITS_PER_COMPONENT); MAKE_SIGNAL(NV_CTRL_GVI_REQUESTED_STREAM_BITS_PER_COMPONENT); MAKE_SIGNAL(NV_CTRL_GVI_DETECTED_CHANNEL_COMPONENT_SAMPLING); MAKE_SIGNAL(NV_CTRL_GVI_REQUESTED_STREAM_COMPONENT_SAMPLING); MAKE_SIGNAL(NV_CTRL_GVI_REQUESTED_STREAM_CHROMA_EXPAND); MAKE_SIGNAL(NV_CTRL_GVI_DETECTED_CHANNEL_COLOR_SPACE); MAKE_SIGNAL(NV_CTRL_GVI_DETECTED_CHANNEL_LINK_ID); MAKE_SIGNAL(NV_CTRL_GVI_DETECTED_CHANNEL_SMPTE352_IDENTIFIER); MAKE_SIGNAL(NV_CTRL_GVI_GLOBAL_IDENTIFIER); MAKE_SIGNAL(NV_CTRL_FRAMELOCK_SYNC_DELAY_RESOLUTION); MAKE_SIGNAL(NV_CTRL_GPU_COOLER_MANUAL_CONTROL); MAKE_SIGNAL(NV_CTRL_THERMAL_COOLER_LEVEL); MAKE_SIGNAL(NV_CTRL_THERMAL_COOLER_LEVEL_SET_DEFAULT); MAKE_SIGNAL(NV_CTRL_THERMAL_COOLER_CONTROL_TYPE); MAKE_SIGNAL(NV_CTRL_THERMAL_COOLER_TARGET); MAKE_SIGNAL(NV_CTRL_GPU_ECC_CONFIGURATION); MAKE_SIGNAL(NV_CTRL_GPU_POWER_MIZER_MODE); MAKE_SIGNAL(NV_CTRL_GVI_SYNC_OUTPUT_FORMAT); MAKE_SIGNAL(NV_CTRL_GVI_MAX_CHANNELS_PER_JACK); MAKE_SIGNAL(NV_CTRL_GVI_MAX_STREAMS); MAKE_SIGNAL(NV_CTRL_GVI_NUM_CAPTURE_SURFACES); MAKE_SIGNAL(NV_CTRL_OVERSCAN_COMPENSATION); MAKE_SIGNAL(NV_CTRL_GPU_PCIE_GENERATION); MAKE_SIGNAL(NV_CTRL_GVI_BOUND_GPU); MAKE_SIGNAL(NV_CTRL_ACCELERATE_TRAPEZOIDS); MAKE_SIGNAL(NV_CTRL_GPU_CORES); MAKE_SIGNAL(NV_CTRL_GPU_MEMORY_BUS_WIDTH); MAKE_SIGNAL(NV_CTRL_GVI_TEST_MODE); MAKE_SIGNAL(NV_CTRL_COLOR_SPACE); MAKE_SIGNAL(NV_CTRL_COLOR_RANGE); MAKE_SIGNAL(NV_CTRL_DITHERING); MAKE_SIGNAL(NV_CTRL_DITHERING_MODE); MAKE_SIGNAL(NV_CTRL_DITHERING_DEPTH); MAKE_SIGNAL(NV_CTRL_CURRENT_DITHERING); MAKE_SIGNAL(NV_CTRL_CURRENT_DITHERING_MODE); MAKE_SIGNAL(NV_CTRL_CURRENT_DITHERING_DEPTH); MAKE_SIGNAL(NV_CTRL_THERMAL_SENSOR_READING); MAKE_SIGNAL(NV_CTRL_THERMAL_SENSOR_PROVIDER); MAKE_SIGNAL(NV_CTRL_THERMAL_SENSOR_TARGET); MAKE_SIGNAL(NV_CTRL_SHOW_MULTIGPU_VISUAL_INDICATOR); MAKE_SIGNAL(NV_CTRL_GPU_CURRENT_PROCESSOR_CLOCK_FREQS); MAKE_SIGNAL(NV_CTRL_GVIO_VIDEO_FORMAT_FLAGS); MAKE_SIGNAL(NV_CTRL_GPU_PCIE_MAX_LINK_SPEED); MAKE_SIGNAL(NV_CTRL_3D_VISION_PRO_TRANSCEIVER_CHANNEL); MAKE_SIGNAL(NV_CTRL_3D_VISION_PRO_TRANSCEIVER_MODE); MAKE_SIGNAL(NV_CTRL_SYNCHRONOUS_PALETTE_UPDATES); MAKE_SIGNAL(NV_CTRL_3D_VISION_PRO_TRANSCEIVER_CHANNEL_QUALITY); MAKE_SIGNAL(NV_CTRL_3D_VISION_PRO_GLASSES_MISSED_SYNC_CYCLES); MAKE_SIGNAL(NV_CTRL_GVO_ANC_PARITY_COMPUTATION); MAKE_SIGNAL(NV_CTRL_3D_VISION_PRO_GLASSES_PAIR_EVENT); MAKE_SIGNAL(NV_CTRL_3D_VISION_PRO_GLASSES_UNPAIR_EVENT); MAKE_SIGNAL(NV_CTRL_GPU_PCIE_MAX_LINK_WIDTH); MAKE_SIGNAL(NV_CTRL_GPU_PCIE_CURRENT_LINK_WIDTH); MAKE_SIGNAL(NV_CTRL_GPU_PCIE_CURRENT_LINK_SPEED); MAKE_SIGNAL(NV_CTRL_GVO_AUDIO_BLANKING); MAKE_SIGNAL(NV_CTRL_CURRENT_METAMODE_ID); MAKE_SIGNAL(NV_CTRL_DISPLAY_ENABLED); MAKE_SIGNAL(NV_CTRL_FRAMELOCK_INCOMING_HOUSE_SYNC_RATE); MAKE_SIGNAL(NV_CTRL_FXAA); MAKE_SIGNAL(NV_CTRL_DISPLAY_RANDR_OUTPUT_ID); MAKE_SIGNAL(NV_CTRL_FRAMELOCK_DISPLAY_CONFIG); MAKE_SIGNAL(NV_CTRL_TOTAL_DEDICATED_GPU_MEMORY); MAKE_SIGNAL(NV_CTRL_USED_DEDICATED_GPU_MEMORY); MAKE_SIGNAL(NV_CTRL_GPU_DOUBLE_PRECISION_BOOST_IMMEDIATE); MAKE_SIGNAL(NV_CTRL_GPU_DOUBLE_PRECISION_BOOST_REBOOT); MAKE_SIGNAL(NV_CTRL_DPY_HDMI_3D); MAKE_SIGNAL(NV_CTRL_BASE_MOSAIC); MAKE_SIGNAL(NV_CTRL_MULTIGPU_MASTER_POSSIBLE); MAKE_SIGNAL(NV_CTRL_GPU_POWER_MIZER_DEFAULT_MODE); MAKE_SIGNAL(NV_CTRL_XV_SYNC_TO_DISPLAY_ID); MAKE_SIGNAL(NV_CTRL_BACKLIGHT_BRIGHTNESS); MAKE_SIGNAL(NV_CTRL_GPU_LOGO_BRIGHTNESS); MAKE_SIGNAL(NV_CTRL_GPU_SLI_LOGO_BRIGHTNESS); MAKE_SIGNAL(NV_CTRL_THERMAL_COOLER_SPEED); MAKE_SIGNAL(NV_CTRL_PALETTE_UPDATE_EVENT); MAKE_SIGNAL(NV_CTRL_VIDEO_ENCODER_UTILIZATION); MAKE_SIGNAL(NV_CTRL_GSYNC_ALLOWED); MAKE_SIGNAL(NV_CTRL_GPU_NVCLOCK_OFFSET); MAKE_SIGNAL(NV_CTRL_GPU_MEM_TRANSFER_RATE_OFFSET); MAKE_SIGNAL(NV_CTRL_VIDEO_DECODER_UTILIZATION); #undef MAKE_SIGNAL /* * When new integer attributes are added to NVCtrl.h, a * MAKE_SIGNAL() line should be added above. The below #if should * also be updated to indicate the last attribute that ctkevent.c * knows about. */ #if NV_CTRL_LAST_ATTRIBUTE != NV_CTRL_VIDEO_DECODER_UTILIZATION #warning "There are attributes that do not emit signals!" #endif /* make signals for string attribute */ for (i = 0; i <= NV_CTRL_STRING_LAST_ATTRIBUTE; i++) string_signals[i] = 0; #define MAKE_STRING_SIGNAL(x) \ string_signals[x] = g_signal_new(("CTK_EVENT_" #x), \ G_OBJECT_CLASS_TYPE(ctk_event_class), \ G_SIGNAL_RUN_LAST, 0, NULL, NULL, \ g_cclosure_marshal_VOID__POINTER, \ G_TYPE_NONE, 1, G_TYPE_POINTER); MAKE_STRING_SIGNAL(NV_CTRL_STRING_PRODUCT_NAME); MAKE_STRING_SIGNAL(NV_CTRL_STRING_VBIOS_VERSION); MAKE_STRING_SIGNAL(NV_CTRL_STRING_NVIDIA_DRIVER_VERSION); MAKE_STRING_SIGNAL(NV_CTRL_STRING_DISPLAY_DEVICE_NAME); MAKE_STRING_SIGNAL(NV_CTRL_STRING_TV_ENCODER_NAME); MAKE_STRING_SIGNAL(NV_CTRL_STRING_GVIO_FIRMWARE_VERSION); MAKE_STRING_SIGNAL(NV_CTRL_STRING_CURRENT_MODELINE); MAKE_STRING_SIGNAL(NV_CTRL_STRING_ADD_MODELINE); MAKE_STRING_SIGNAL(NV_CTRL_STRING_DELETE_MODELINE); MAKE_STRING_SIGNAL(NV_CTRL_STRING_CURRENT_METAMODE); MAKE_STRING_SIGNAL(NV_CTRL_STRING_ADD_METAMODE); MAKE_STRING_SIGNAL(NV_CTRL_STRING_DELETE_METAMODE); MAKE_STRING_SIGNAL(NV_CTRL_STRING_VCSC_PRODUCT_NAME); MAKE_STRING_SIGNAL(NV_CTRL_STRING_VCSC_PRODUCT_ID); MAKE_STRING_SIGNAL(NV_CTRL_STRING_VCSC_SERIAL_NUMBER); MAKE_STRING_SIGNAL(NV_CTRL_STRING_VCSC_BUILD_DATE); MAKE_STRING_SIGNAL(NV_CTRL_STRING_VCSC_FIRMWARE_VERSION); MAKE_STRING_SIGNAL(NV_CTRL_STRING_VCSC_FIRMWARE_REVISION); MAKE_STRING_SIGNAL(NV_CTRL_STRING_VCSC_HARDWARE_VERSION); MAKE_STRING_SIGNAL(NV_CTRL_STRING_VCSC_HARDWARE_REVISION); MAKE_STRING_SIGNAL(NV_CTRL_STRING_MOVE_METAMODE); MAKE_STRING_SIGNAL(NV_CTRL_STRING_VALID_HORIZ_SYNC_RANGES); MAKE_STRING_SIGNAL(NV_CTRL_STRING_VALID_VERT_REFRESH_RANGES); MAKE_STRING_SIGNAL(NV_CTRL_STRING_XINERAMA_SCREEN_INFO); MAKE_STRING_SIGNAL(NV_CTRL_STRING_NVIDIA_XINERAMA_INFO_ORDER); MAKE_STRING_SIGNAL(NV_CTRL_STRING_SLI_MODE); MAKE_STRING_SIGNAL(NV_CTRL_STRING_PERFORMANCE_MODES); MAKE_STRING_SIGNAL(NV_CTRL_STRING_GVIO_VIDEO_FORMAT_NAME); MAKE_STRING_SIGNAL(NV_CTRL_STRING_GPU_CURRENT_CLOCK_FREQS); MAKE_STRING_SIGNAL(NV_CTRL_STRING_3D_VISION_PRO_GLASSES_NAME); MAKE_STRING_SIGNAL(NV_CTRL_STRING_CURRENT_METAMODE_VERSION_2); MAKE_STRING_SIGNAL(NV_CTRL_STRING_DISPLAY_NAME_TYPE_BASENAME); MAKE_STRING_SIGNAL(NV_CTRL_STRING_DISPLAY_NAME_TYPE_ID); MAKE_STRING_SIGNAL(NV_CTRL_STRING_DISPLAY_NAME_DP_GUID); MAKE_STRING_SIGNAL(NV_CTRL_STRING_DISPLAY_NAME_EDID_HASH); MAKE_STRING_SIGNAL(NV_CTRL_STRING_DISPLAY_NAME_TARGET_INDEX); MAKE_STRING_SIGNAL(NV_CTRL_STRING_DISPLAY_NAME_RANDR); MAKE_STRING_SIGNAL(NV_CTRL_STRING_GPU_UUID); MAKE_STRING_SIGNAL(NV_CTRL_STRING_GPU_UTILIZATION); MAKE_STRING_SIGNAL(NV_CTRL_STRING_MULTIGPU_MODE); #undef MAKE_STRING_SIGNAL #if NV_CTRL_STRING_LAST_ATTRIBUTE != NV_CTRL_STRING_MULTIGPU_MODE #warning "There are attributes that do not emit signals!" #endif /* make signals for binary attribute */ for (i = 0; i <= NV_CTRL_BINARY_DATA_LAST_ATTRIBUTE; i++) binary_signals[i] = 0; #define MAKE_BINARY_SIGNAL(x) \ binary_signals[x] = g_signal_new(("CTK_EVENT_" #x), \ G_OBJECT_CLASS_TYPE(ctk_event_class), \ G_SIGNAL_RUN_LAST, 0, NULL, NULL, \ g_cclosure_marshal_VOID__POINTER, \ G_TYPE_NONE, 1, G_TYPE_POINTER); MAKE_BINARY_SIGNAL(NV_CTRL_BINARY_DATA_MODELINES); MAKE_BINARY_SIGNAL(NV_CTRL_BINARY_DATA_XSCREENS_USING_GPU); MAKE_BINARY_SIGNAL(NV_CTRL_BINARY_DATA_GPUS_USED_BY_XSCREEN); MAKE_BINARY_SIGNAL(NV_CTRL_BINARY_DATA_GPUS_USING_FRAMELOCK); MAKE_BINARY_SIGNAL(NV_CTRL_BINARY_DATA_DISPLAY_VIEWPORT); MAKE_BINARY_SIGNAL(NV_CTRL_BINARY_DATA_FRAMELOCKS_USED_BY_GPU); MAKE_BINARY_SIGNAL(NV_CTRL_BINARY_DATA_GPUS_USING_VCSC); MAKE_BINARY_SIGNAL(NV_CTRL_BINARY_DATA_VCSCS_USED_BY_GPU); MAKE_BINARY_SIGNAL(NV_CTRL_BINARY_DATA_COOLERS_USED_BY_GPU); MAKE_BINARY_SIGNAL(NV_CTRL_BINARY_DATA_GPUS_USED_BY_LOGICAL_XSCREEN); MAKE_BINARY_SIGNAL(NV_CTRL_BINARY_DATA_THERMAL_SENSORS_USED_BY_GPU); MAKE_BINARY_SIGNAL(NV_CTRL_BINARY_DATA_DISPLAY_TARGETS); MAKE_BINARY_SIGNAL(NV_CTRL_BINARY_DATA_DISPLAYS_CONNECTED_TO_GPU); MAKE_BINARY_SIGNAL(NV_CTRL_BINARY_DATA_METAMODES_VERSION_2); MAKE_BINARY_SIGNAL(NV_CTRL_BINARY_DATA_DISPLAYS_ENABLED_ON_XSCREEN); MAKE_BINARY_SIGNAL(NV_CTRL_BINARY_DATA_DISPLAYS_ASSIGNED_TO_XSCREEN); MAKE_BINARY_SIGNAL(NV_CTRL_BINARY_DATA_GPU_FLAGS); MAKE_BINARY_SIGNAL(NV_CTRL_BINARY_DATA_DISPLAYS_ON_GPU); #undef MAKE_BINARY_SIGNAL #if NV_CTRL_BINARY_DATA_LAST_ATTRIBUTE != NV_CTRL_BINARY_DATA_DISPLAYS_ON_GPU #warning "There are attributes that do not emit signals!" #endif /* Make XRandR signal */ signal_RRScreenChangeNotify = g_signal_new("CTK_EVENT_RRScreenChangeNotify", G_OBJECT_CLASS_TYPE(ctk_event_class), G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_marshal_VOID__POINTER, G_TYPE_NONE, 1, G_TYPE_POINTER); } /* ctk_event_class_init */