string.h File Reference

Go to the source code of this file.

Defines

#define __HAVE_ARCH_MEMCPY
#define memcpy(dest, src, len)
#define __HAVE_ARCH_MEMMOVE
#define __HAVE_ARCH_MEMSET
#define __HAVE_ARCH_MEMSWAP
#define __HAVE_ARCH_STRNCMP
#define __HAVE_ARCH_STRLEN

Functions

 FILE_LICENCE (PUBLIC_DOMAIN)
void * __memcpy (void *dest, const void *src, size_t len)
 Copy memory area.
static __attribute__ ((always_inline)) void *__constant_memcpy(void *dest

Variables

static const void * src


Define Documentation

#define __HAVE_ARCH_MEMCPY

Definition at line 26 of file string.h.

#define memcpy ( dest,
src,
len   ) 

Value:

( __builtin_constant_p ( (len) ) ?              \
          __constant_memcpy ( (dest), (src), (len) ) :  \
          __memcpy ( (dest), (src), (len) ) )

Referenced by abft_fill_data(), add_ndp_entry(), AES_set_key(), aes_unwrap(), aes_wrap(), amd8111e_poll(), amd8111e_transmit(), aoe_attach(), aoe_rx_cfg(), aout_download(), aout_probe(), arbel_cmd(), arbel_complete(), arbel_mad(), arbel_mcast_attach(), arbel_post_send(), arp_resolve(), arp_rx(), ath5k_config(), ath5k_eeprom_read_mac(), ath5k_hw_get_lladdr(), ath5k_hw_set_bssid_mask(), ath5k_hw_set_lladdr(), ath5k_hw_set_tx_queueprops(), atl1e_clean_rx_irq(), atl1e_get_permanent_address(), atl1e_probe(), atl1e_read_mac_addr(), atl1e_up(), autovivify_child_settings(), bi_clone(), bi_divide(), bnx2_poll(), bnx2_probe(), bnx2_transmit(), bzimage_load_initrd(), cbc_decrypt(), cbc_encrypt(), cbc_setiv(), ccmp_cbc_mac(), ccmp_ctr_xor(), ccmp_decrypt(), ccmp_encrypt(), ccmp_kie_mic(), ce_loader(), cipher_null_decrypt(), cipher_null_encrypt(), cpio_set_field(), cs89x0_probe(), davicom_poll(), davicom_transmit(), dhcp_create_packet(), dhcp_create_request(), dhcp_deliver_iob(), dhcp_xid(), dhcpopt_fetch(), dhcppkt_fetch(), dhcppkt_store(), dmfe_poll(), dmfe_transmit(), dns_resolv(), draw_editbox(), draw_setting(), e1000_probe(), e1000e_probe(), eapol_key_rx(), efab_probe(), efi_snp_driver_start(), efi_snp_receive(), efi_snp_set_mode(), efi_snp_station_address(), efi_snp_statistics(), efi_snp_transmit(), epic100_poll(), epic100_transmit(), eth_eth_addr(), eth_init_addr(), eth_push(), falcon_spi_rw(), forcedeth_poll(), forcedeth_transmit(), gcc_implicit_memcpy(), gdbudp_recv(), gdbudp_send(), generic_settings_fetch(), generic_settings_store(), hermon_cmd(), hermon_complete(), hermon_fill_ud_send_wqe(), hermon_mad(), hermon_mcast_attach(), hermon_modify_qp(), hmac_final(), hmac_init(), ib_cm_path_complete(), ib_cmrc_open(), ib_create_conn(), ib_create_madx(), ib_create_path(), ib_get_hca_info(), ib_mcast_attach(), ib_mcast_join(), ib_mcast_mad(), ib_mi_send(), ib_post_send(), ib_pull(), ib_push(), ib_sma_guid_info(), ib_sma_node_info(), ib_sma_port_info(), ib_sma_set_port_info(), ib_smc_update(), ib_srp_parse_byte_string(), ib_srp_parse_initiator_hca_guid(), ib_srp_parse_sgid(), icmp6_send_solicit(), ifec_net_open(), igb_probe(), insert_delete(), ipoib_cache_peer(), ipoib_complete_recv(), ipoib_init_addr(), ipoib_link_state_changed(), ipoib_probe(), ipoib_transmit(), ipv4_ll_addr(), ipv4_reassemble(), iscsi_handle_chap_c_value(), iscsi_handle_chap_r_value(), iscsi_rx_bhs(), iscsi_rx_buffered_data(), iscsi_start_command(), iscsi_vredirect(), line_buffer(), mac_address_from_string_specs(), md5_final(), md5_update(), memcpy_0(), memcpy_1(), memcpy_10(), memcpy_11(), memcpy_12(), memcpy_13(), memcpy_14(), memcpy_15(), memcpy_16(), memcpy_17(), memcpy_18(), memcpy_19(), memcpy_2(), memcpy_20(), memcpy_21(), memcpy_22(), memcpy_23(), memcpy_24(), memcpy_25(), memcpy_26(), memcpy_27(), memcpy_28(), memcpy_3(), memcpy_4(), memcpy_5(), memcpy_6(), memcpy_7(), memcpy_8(), memcpy_9(), mtd_poll(), mtd_transmit(), natsemi_poll(), ndp_process_advert(), ndp_resolve(), ne_poll(), net80211_accum_frags(), net80211_handle_assoc_reply(), net80211_handle_auth(), net80211_ll_push(), net80211_marshal_request_info(), net80211_prepare_assoc(), net80211_probe_step(), net80211_process_ie(), net80211_register(), net80211_tx_mgmt(), netdev_fetch(), netdev_store(), ns83820_poll(), ns83820_transmit(), ns8390_poll(), ns8390_transmit(), numeric_resolv(), parse_eeprom(), parse_setting_name(), parse_settings_name(), parse_uri(), pbkdf2_sha1(), pbkdf2_sha1_f(), pcnet32_poll(), pcnet32_probe(), pcnet32_transmit(), phantom_clp_cmd(), phantom_post_cds(), phantom_post_rds(), prf_sha1(), prism2_transmit(), pxe_menu_parse(), pxenv_undi_get_information(), pxenv_undi_isr(), pxenv_undi_set_station_address(), pxeparent_call(), realloc(), resolv(), resolve_path(), resolve_uri(), rhine_poll(), rhine_transmit(), RSA_decrypt(), RSA_encrypt(), rtl818x_probe(), rtl_poll(), sbft_fill_data(), sec80211_install(), send_test_pkt(), set_dhcp_option(), settings_name(), sis900_poll(), sis900_transmit(), skge_devinit(), sky2_init_netdev(), slam_open(), slam_parse_multicast_address(), slam_pull_header(), smbios_fetch(), srp_cmd(), srp_login(), strndup(), sundance_poll(), sundance_transmit(), tcp_open(), tcp_process_queue(), tftp_process_multicast(), tftp_rx(), tg3_poll(), tg3_read_partno(), tg3_transmit(), tkip_decrypt(), tkip_encrypt(), tkip_init(), tkip_kie_decrypt(), tkip_kie_mic(), tkip_michael(), tkip_mix_1(), tkip_mix_2(), tlan_poll(), tlan_transmit(), tls_assemble_block(), tls_assemble_stream(), tls_cipherstream_deliver_raw(), tls_generate_keys(), tls_new_server_hello(), tls_p_hash_va(), tls_send_client_hello(), tls_send_plaintext(), tls_verify_handshake(), trivial_memcpy_user(), tulip_poll(), tulip_probe(), tulip_transmit(), udp_open_common(), undinet_open(), undinet_probe(), undinet_transmit(), undipci_probe(), velocity_poll(), velocity_transmit(), video_scroll(), virtnet_poll(), virtnet_transmit(), vxge_device_register(), vxge_hw_vpath_poll_rx(), vxge_probe(), w89c840_poll(), w89c840_transmit(), wep_decrypt(), wep_encrypt(), wep_init(), wpa_check_pmkid(), wpa_derive_ptk(), wpa_handle_1_of_2(), wpa_handle_1_of_4(), wpa_maybe_install_gtk(), wpa_send_2_of_4(), wpa_send_final(), wpa_start(), x509_public_key(), x509_rsa_public_key(), xfer_deliver_as_iob(), and xfer_open_named_socket().

#define __HAVE_ARCH_MEMMOVE

#define __HAVE_ARCH_MEMSET

#define __HAVE_ARCH_MEMSWAP

#define __HAVE_ARCH_STRNCMP

#define __HAVE_ARCH_STRLEN


Function Documentation

FILE_LICENCE ( PUBLIC_DOMAIN   ) 

void* __memcpy ( void *  dest,
const void *  src,
size_t  len 
)

Copy memory area.

Parameters:
dest Destination address
src Source address
len Length
Return values:
dest Destination address

Definition at line 37 of file x86_string.c.

References __asm__().

00037                                                             {
00038         void *edi = dest;
00039         const void *esi = src;
00040         int discard_ecx;
00041 
00042         /* We often do large dword-aligned and dword-length block
00043          * moves.  Using movsl rather than movsb speeds these up by
00044          * around 32%.
00045          */
00046         if ( len >> 2 ) {
00047                 __asm__ __volatile__ ( "rep movsl"
00048                                        : "=&D" ( edi ), "=&S" ( esi ),
00049                                          "=&c" ( discard_ecx )
00050                                        : "0" ( edi ), "1" ( esi ),
00051                                          "2" ( len >> 2 )
00052                                        : "memory" );
00053         }
00054         if ( len & 0x02 ) {
00055                 __asm__ __volatile__ ( "movsw" : "=&D" ( edi ), "=&S" ( esi )
00056                                        : "0" ( edi ), "1" ( esi ) : "memory" );
00057         }
00058         if ( len & 0x01 ) {
00059                 __asm__ __volatile__ ( "movsb" : "=&D" ( edi ), "=&S" ( esi )
00060                                        : "0" ( edi ), "1" ( esi ) : "memory" );
00061         }
00062         return dest;
00063 }

static __attribute__ ( (always_inline)   )  [inline, static]


Variable Documentation

const void* src


Generated on Tue Apr 6 20:01:53 2010 for gPXE by  doxygen 1.5.7.1