You are an expert in writing code in many different languages. Your goal is to perform code completion for the following code, keeping in mind the rest of the code and the file meta data.
    Metadata details:
    filename: getopt_mk_fifo_nod.rs
    path of file: ./repos/rustybox/coreutils/libcoreutils
    
    the code of the file until where you have to start completion: use libc;
use libc::mode_t;
use libc::umask;
/*
 * coreutils utility routine
 *
 * Copyright (C) 2003  Manuel Novoa III  <mjn3@codepoet.org>
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either versio
    
pub unsafe fn getopt_mk_fifo_nod(mut argv: *mut *mut libc::c_char) -> mode_t {
  let mut mode: mode_t = 0o666i32 as mode_t;
  let mut smode: *mut libc::c_char = std::ptr::null_mut::<libc::c_char>();
  let mut opt: libc::c_int = 0;
  opt = crate::libbb::getopt32::getopt32(
    argv,
    b"m:\x00" as *const u8 as *const libc::c_char,
    &mut smode as *mut *mut libc::c_char,
  ) as libc::c_int;
  if opt & 1i32 != 0 {
    mode = crate::libbb::parse_mode::bb_parse_mode(smode, mode) as mode_t;
    if mode != -1i32 as mode_t {
      /* if mode is valid */
      /* make future mknod/mkfifo set mode bits exactly */
      umask(0i32 as mode_t);
    }
  }
  return mode;
}